﻿<!DOCTYPE html><html lang="en"><head>
<link rel="icon" data-savepage-href="https://www.jianshu.com/favicon.ico" href=""><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge,chrome=1"><meta http-equiv="Cache-Control" content="no-siteapp"><meta http-equiv="Cache-Control" content="no-transform"><meta name="applicable-device" content="pc,mobile"><meta name="MobileOptimized" content="width"><meta name="HandheldFriendly" content="true"><meta name="theme-color" content="#ec7259"><meta name="renderer" content="webkit"><meta name="force-rendering" content="webkit"><meta name="google" value="notranslate"><meta property="wb:webmaster" content="294ec9de89e7fadb"><meta property="qc:admins" content="104102651453316562112116375"><meta property="qc:admins" content="11635613706305617"><meta property="qc:admins" content="1163561616621163056375"><meta name="360-site-verification" content="604a14b53c6b871206001285921e81d8"><meta name="google-site-verification" content="cV4-qkUJZR6gmFeajx_UyPe47GW9vY6cnCrYtCHYNh4"><meta name="google-site-verification" content="HF7lfF8YEGs1qtCE-kPml8Z469e2RHhGajy6JPVy5XI"><meta name="tencent-site-verification" content="da26ce22cfed7aba6a96d8409f9b53a6"><meta name="apple-mobile-web-app-title" content="简书"><link href="" rel="shortcut icon" type="image/x-icon"><link rel="dns-prefetch" data-savepage-href="//cdn2.jianshu.io" href=""><link rel="dns-prefetch" data-savepage-href="//upload-images.jianshu.io" href=""><meta name="referrer" content="always"><meta http-equiv="mobile-agent" content="format=html5; url=http://maleskine-production:30000/p/3d90d05ed7cd"><meta name="apple-itunes-app" content="app-id=888237539, app-argument=jianshu://notes/95204019"><meta property="al:ios:url" content="jianshu://notes/95204019"><meta property="al:ios:app_store_id" content="888237539"><meta property="al:ios:app_name" content="简书"><meta property="al:android:url" content="jianshu://notes/95204019"><meta property="al:android:package" content="com.jianshu.haruki"><meta property="al:android:app_name" content="简书"><title>如何为cmake提供package以便于find_package, 以及用VCPKG补充CMake实现快速下载集成 - 简书</title><meta name="robots" content="index,follow"><meta name="googlebot" content="index,follow"><meta name="description" content="1. CMake带来的改变 1.1 依赖关系的思维转变：用仓库的概念代替目录层级依赖 层级依赖: 扁平依赖: 图一：在每个项目里都存放一套自身需要的依赖库，类似离线式依赖包含..."><meta name="twitter:card" content="summary"><meta name="twitter:site" content="@jianshu.com"><meta property="fb:app_id" content="865829053512461"><meta property="og:url" content="http://maleskine-production:30000/p/3d90d05ed7cd"><meta property="og:type" content="article"><meta property="og:title" content="如何为cmake提供package以便于find_package, 以及用VCPKG补充CMake实现快速下载集成"><meta property="og:description" content="1. CMake带来的改变 1.1 依赖关系的思维转变：用仓库的概念代替目录层级依赖 层级依赖: 扁平依赖: 图一：在每个项目里都存放一套自身需要的依赖库，类似离线式依赖包含..."><meta property="og:image" content="https://upload.jianshu.io/users/upload_avatars/1621860/da33e628f3cf"><meta property="og:site_name" content="简书"><script data-savepage-type="text/javascript" type="text/plain" data-savepage-src="https://v1.cnzz.com/z_stat.php?id=1279807957&web_id=1279807957"></script><meta charset="utf-8"><meta name="next-head-count" content="47"><link rel="preload" data-savepage-href="https://cdn2.jianshu.io/shakespeare/_next/static/Of2aXu0FzqN8RSFS2c0Jl/pages/p/%5Bslug%5D.js" href="" as="script"><link rel="preload" data-savepage-href="https://cdn2.jianshu.io/shakespeare/_next/static/Of2aXu0FzqN8RSFS2c0Jl/pages/_app.js" href="" as="script"><link rel="preload" data-savepage-href="https://cdn2.jianshu.io/shakespeare/_next/static/runtime/webpack-6cd59f3bb0529e67c8c2.js" href="" as="script"><link rel="preload" data-savepage-href="https://cdn2.jianshu.io/shakespeare/_next/static/chunks/commons.f52df839f6e72e03e089.js" href="" as="script"><link rel="preload" data-savepage-href="https://cdn2.jianshu.io/shakespeare/_next/static/chunks/styles.8187abd64366e9a422b7.js" href="" as="script"><link rel="preload" data-savepage-href="https://cdn2.jianshu.io/shakespeare/_next/static/runtime/main-3308313a01a5537f937d.js" href="" as="script"><link rel="preload" data-savepage-href="https://cdn2.jianshu.io/shakespeare/_next/static/css/commons.90b98cc2.chunk.css" href="" as="style"><style data-savepage-href="https://cdn2.jianshu.io/shakespeare/_next/static/css/commons.90b98cc2.chunk.css">body,html{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;color:rgba(0,0,0,.65);font-size:14px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";line-height:1.5;-webkit-font-feature-settings:"tnum","tnum";font-feature-settings:"tnum","tnum"}[tabindex="-1"]:focus{outline:none!important}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;color:rgba(0,0,0,.85);font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=number],input[type=password],input[type=text],textarea{-webkit-appearance:none}dl,ol,ul{margin-top:0;margin-bottom:1em}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#ec7259;text-decoration:none;background-color:transparent;outline:none;cursor:pointer;-webkit-transition:color .3s;transition:color .3s;-webkit-text-decoration-skip:objects}a:hover{color:#fa9e87}a:active{color:#c75342}a:active,a:hover{text-decoration:none;outline:0}a[disabled]{color:rgba(0,0,0,.25);cursor:not-allowed;pointer-events:none}code,kbd,pre,samp{font-size:1em;font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;color:rgba(0,0,0,.45);text-align:left;caption-side:bottom}th{text-align:inherit}button,input,optgroup,select,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}::-moz-selection{color:#fff;background:#ec7259}::selection{color:#fff;background:#ec7259}.clearfix:after,.clearfix:before{content:""}.anticon{display:inline-block;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.anticon>*{line-height:1}.anticon svg{display:inline-block}.anticon:before{display:none}.anticon .anticon-icon{display:block}.anticon[tabindex]{cursor:pointer}.anticon-spin,.anticon-spin:before{display:inline-block;-webkit-animation:loadingCircle 1s linear infinite;animation:loadingCircle 1s linear infinite}.fade-appear,.fade-enter,.fade-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.fade-appear.fade-appear-active,.fade-enter.fade-enter-active{-webkit-animation-name:antFadeIn;animation-name:antFadeIn;-webkit-animation-play-state:running;animation-play-state:running}.fade-leave.fade-leave-active{-webkit-animation-name:antFadeOut;animation-name:antFadeOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.fade-appear,.fade-enter{opacity:0}.fade-appear,.fade-enter,.fade-leave{-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes antFadeIn{0%{opacity:0}to{opacity:1}}@keyframes antFadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes antFadeOut{0%{opacity:1}to{opacity:0}}@keyframes antFadeOut{0%{opacity:1}to{opacity:0}}.move-up-appear,.move-up-enter,.move-up-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.move-up-appear.move-up-appear-active,.move-up-enter.move-up-enter-active{-webkit-animation-name:antMoveUpIn;animation-name:antMoveUpIn;-webkit-animation-play-state:running;animation-play-state:running}.move-up-leave.move-up-leave-active{-webkit-animation-name:antMoveUpOut;animation-name:antMoveUpOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.move-up-appear,.move-up-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.move-up-leave{-webkit-animation-timing-function:cubic-bezier(.6,.04,.98,.34);animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.move-down-appear,.move-down-enter,.move-down-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.move-down-appear.move-down-appear-active,.move-down-enter.move-down-enter-active{-webkit-animation-name:antMoveDownIn;animation-name:antMoveDownIn;-webkit-animation-play-state:running;animation-play-state:running}.move-down-leave.move-down-leave-active{-webkit-animation-name:antMoveDownOut;animation-name:antMoveDownOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.move-down-appear,.move-down-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.move-down-leave{-webkit-animation-timing-function:cubic-bezier(.6,.04,.98,.34);animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.move-left-appear,.move-left-enter,.move-left-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.move-left-appear.move-left-appear-active,.move-left-enter.move-left-enter-active{-webkit-animation-name:antMoveLeftIn;animation-name:antMoveLeftIn;-webkit-animation-play-state:running;animation-play-state:running}.move-left-leave.move-left-leave-active{-webkit-animation-name:antMoveLeftOut;animation-name:antMoveLeftOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.move-left-appear,.move-left-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.move-left-leave{-webkit-animation-timing-function:cubic-bezier(.6,.04,.98,.34);animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.move-right-appear,.move-right-enter,.move-right-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.move-right-appear.move-right-appear-active,.move-right-enter.move-right-enter-active{-webkit-animation-name:antMoveRightIn;animation-name:antMoveRightIn;-webkit-animation-play-state:running;animation-play-state:running}.move-right-leave.move-right-leave-active{-webkit-animation-name:antMoveRightOut;animation-name:antMoveRightOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.move-right-appear,.move-right-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.move-right-leave{-webkit-animation-timing-function:cubic-bezier(.6,.04,.98,.34);animation-timing-function:cubic-bezier(.6,.04,.98,.34)}@-webkit-keyframes antMoveDownIn{0%{-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes antMoveDownIn{0%{-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes antMoveDownOut{0%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@keyframes antMoveDownOut{0%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@-webkit-keyframes antMoveLeftIn{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes antMoveLeftIn{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes antMoveLeftOut{0%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@keyframes antMoveLeftOut{0%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@-webkit-keyframes antMoveRightIn{0%{-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes antMoveRightIn{0%{-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes antMoveRightOut{0%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@keyframes antMoveRightOut{0%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@-webkit-keyframes antMoveUpIn{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes antMoveUpIn{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes antMoveUpOut{0%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@keyframes antMoveUpOut{0%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@-webkit-keyframes loadingCircle{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingCircle{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}[ant-click-animating-without-extra-node=true],[ant-click-animating=true]{position:relative}html{--antd-wave-shadow-color:#ec7259}.ant-click-animating-node,[ant-click-animating-without-extra-node=true]:after{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:inherit;-webkit-box-shadow:0 0 0 0 #ec7259;box-shadow:0 0 0 0 #ec7259;-webkit-box-shadow:0 0 0 0 var(--antd-wave-shadow-color);box-shadow:0 0 0 0 var(--antd-wave-shadow-color);opacity:.2;-webkit-animation:fadeEffect 2s cubic-bezier(.08,.82,.17,1),waveEffect .4s cubic-bezier(.08,.82,.17,1);animation:fadeEffect 2s cubic-bezier(.08,.82,.17,1),waveEffect .4s cubic-bezier(.08,.82,.17,1);-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;content:"";pointer-events:none}@-webkit-keyframes waveEffect{to{-webkit-box-shadow:0 0 0 #ec7259;box-shadow:0 0 0 #ec7259;-webkit-box-shadow:0 0 0 6px #ec7259;box-shadow:0 0 0 6px #ec7259;-webkit-box-shadow:0 0 0 6px var(--antd-wave-shadow-color);box-shadow:0 0 0 6px var(--antd-wave-shadow-color)}}@keyframes waveEffect{to{-webkit-box-shadow:0 0 0 #ec7259;box-shadow:0 0 0 #ec7259;-webkit-box-shadow:0 0 0 6px #ec7259;box-shadow:0 0 0 6px #ec7259;-webkit-box-shadow:0 0 0 6px var(--antd-wave-shadow-color);box-shadow:0 0 0 6px var(--antd-wave-shadow-color)}}@-webkit-keyframes fadeEffect{to{opacity:0}}@keyframes fadeEffect{to{opacity:0}}.slide-up-appear,.slide-up-enter,.slide-up-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.slide-up-appear.slide-up-appear-active,.slide-up-enter.slide-up-enter-active{-webkit-animation-name:antSlideUpIn;animation-name:antSlideUpIn;-webkit-animation-play-state:running;animation-play-state:running}.slide-up-leave.slide-up-leave-active{-webkit-animation-name:antSlideUpOut;animation-name:antSlideUpOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.slide-up-appear,.slide-up-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.23,1,.32,1);animation-timing-function:cubic-bezier(.23,1,.32,1)}.slide-up-leave{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.slide-down-appear,.slide-down-enter,.slide-down-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.slide-down-appear.slide-down-appear-active,.slide-down-enter.slide-down-enter-active{-webkit-animation-name:antSlideDownIn;animation-name:antSlideDownIn;-webkit-animation-play-state:running;animation-play-state:running}.slide-down-leave.slide-down-leave-active{-webkit-animation-name:antSlideDownOut;animation-name:antSlideDownOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.slide-down-appear,.slide-down-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.23,1,.32,1);animation-timing-function:cubic-bezier(.23,1,.32,1)}.slide-down-leave{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.slide-left-appear,.slide-left-enter,.slide-left-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.slide-left-appear.slide-left-appear-active,.slide-left-enter.slide-left-enter-active{-webkit-animation-name:antSlideLeftIn;animation-name:antSlideLeftIn;-webkit-animation-play-state:running;animation-play-state:running}.slide-left-leave.slide-left-leave-active{-webkit-animation-name:antSlideLeftOut;animation-name:antSlideLeftOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.slide-left-appear,.slide-left-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.23,1,.32,1);animation-timing-function:cubic-bezier(.23,1,.32,1)}.slide-left-leave{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.slide-right-appear,.slide-right-enter,.slide-right-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.slide-right-appear.slide-right-appear-active,.slide-right-enter.slide-right-enter-active{-webkit-animation-name:antSlideRightIn;animation-name:antSlideRightIn;-webkit-animation-play-state:running;animation-play-state:running}.slide-right-leave.slide-right-leave-active{-webkit-animation-name:antSlideRightOut;animation-name:antSlideRightOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.slide-right-appear,.slide-right-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.23,1,.32,1);animation-timing-function:cubic-bezier(.23,1,.32,1)}.slide-right-leave{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}@-webkit-keyframes antSlideUpIn{0%{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes antSlideUpIn{0%{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes antSlideUpOut{0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@keyframes antSlideUpOut{0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@-webkit-keyframes antSlideDownIn{0%{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:0}to{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:1}}@keyframes antSlideDownIn{0%{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:0}to{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:1}}@-webkit-keyframes antSlideDownOut{0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:1}to{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:0}}@keyframes antSlideDownOut{0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:1}to{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:0}}@-webkit-keyframes antSlideLeftIn{0%{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes antSlideLeftIn{0%{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes antSlideLeftOut{0%{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@keyframes antSlideLeftOut{0%{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@-webkit-keyframes antSlideRightIn{0%{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:0}to{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:1}}@keyframes antSlideRightIn{0%{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:0}to{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:1}}@-webkit-keyframes antSlideRightOut{0%{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:1}to{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:0}}@keyframes antSlideRightOut{0%{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:1}to{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:0}}.swing-appear,.swing-enter{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.swing-appear.swing-appear-active,.swing-enter.swing-enter-active{-webkit-animation-name:antSwingIn;animation-name:antSwingIn;-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes antSwingIn{0%,to{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}40%{-webkit-transform:translateX(10px);transform:translateX(10px)}60%{-webkit-transform:translateX(-5px);transform:translateX(-5px)}80%{-webkit-transform:translateX(5px);transform:translateX(5px)}}@keyframes antSwingIn{0%,to{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}40%{-webkit-transform:translateX(10px);transform:translateX(10px)}60%{-webkit-transform:translateX(-5px);transform:translateX(-5px)}80%{-webkit-transform:translateX(5px);transform:translateX(5px)}}.zoom-appear,.zoom-enter,.zoom-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-appear.zoom-appear-active,.zoom-enter.zoom-enter-active{-webkit-animation-name:antZoomIn;animation-name:antZoomIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-leave.zoom-leave-active{-webkit-animation-name:antZoomOut;animation-name:antZoomOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-appear,.zoom-enter{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.zoom-big-appear,.zoom-big-enter,.zoom-big-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-big-appear.zoom-big-appear-active,.zoom-big-enter.zoom-big-enter-active{-webkit-animation-name:antZoomBigIn;animation-name:antZoomBigIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-big-leave.zoom-big-leave-active{-webkit-animation-name:antZoomBigOut;animation-name:antZoomBigOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-big-appear,.zoom-big-enter{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-big-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.zoom-big-fast-appear,.zoom-big-fast-enter,.zoom-big-fast-leave{-webkit-animation-duration:.1s;animation-duration:.1s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-big-fast-appear.zoom-big-fast-appear-active,.zoom-big-fast-enter.zoom-big-fast-enter-active{-webkit-animation-name:antZoomBigIn;animation-name:antZoomBigIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-big-fast-leave.zoom-big-fast-leave-active{-webkit-animation-name:antZoomBigOut;animation-name:antZoomBigOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-big-fast-appear,.zoom-big-fast-enter{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-big-fast-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.zoom-up-appear,.zoom-up-enter,.zoom-up-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-up-appear.zoom-up-appear-active,.zoom-up-enter.zoom-up-enter-active{-webkit-animation-name:antZoomUpIn;animation-name:antZoomUpIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-up-leave.zoom-up-leave-active{-webkit-animation-name:antZoomUpOut;animation-name:antZoomUpOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-up-appear,.zoom-up-enter{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-up-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.zoom-down-appear,.zoom-down-enter,.zoom-down-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-down-appear.zoom-down-appear-active,.zoom-down-enter.zoom-down-enter-active{-webkit-animation-name:antZoomDownIn;animation-name:antZoomDownIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-down-leave.zoom-down-leave-active{-webkit-animation-name:antZoomDownOut;animation-name:antZoomDownOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-down-appear,.zoom-down-enter{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-down-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.zoom-left-appear,.zoom-left-enter,.zoom-left-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-left-appear.zoom-left-appear-active,.zoom-left-enter.zoom-left-enter-active{-webkit-animation-name:antZoomLeftIn;animation-name:antZoomLeftIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-left-leave.zoom-left-leave-active{-webkit-animation-name:antZoomLeftOut;animation-name:antZoomLeftOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-left-appear,.zoom-left-enter{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-left-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.zoom-right-appear,.zoom-right-enter,.zoom-right-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-right-appear.zoom-right-appear-active,.zoom-right-enter.zoom-right-enter-active{-webkit-animation-name:antZoomRightIn;animation-name:antZoomRightIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-right-leave.zoom-right-leave-active{-webkit-animation-name:antZoomRightOut;animation-name:antZoomRightOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-right-appear,.zoom-right-enter{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-right-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}@-webkit-keyframes antZoomIn{0%{-webkit-transform:scale(.2);transform:scale(.2);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes antZoomIn{0%{-webkit-transform:scale(.2);transform:scale(.2);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@-webkit-keyframes antZoomOut{0%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.2);transform:scale(.2);opacity:0}}@keyframes antZoomOut{0%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.2);transform:scale(.2);opacity:0}}@-webkit-keyframes antZoomBigIn{0%{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes antZoomBigIn{0%{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@-webkit-keyframes antZoomBigOut{0%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}}@keyframes antZoomBigOut{0%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}}@-webkit-keyframes antZoomUpIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 0;transform-origin:50% 0;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 0;transform-origin:50% 0}}@keyframes antZoomUpIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 0;transform-origin:50% 0;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 0;transform-origin:50% 0}}@-webkit-keyframes antZoomUpOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 0;transform-origin:50% 0}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 0;transform-origin:50% 0;opacity:0}}@keyframes antZoomUpOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 0;transform-origin:50% 0}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 0;transform-origin:50% 0;opacity:0}}@-webkit-keyframes antZoomLeftIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:0 50%;transform-origin:0 50%;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:0 50%;transform-origin:0 50%}}@keyframes antZoomLeftIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:0 50%;transform-origin:0 50%;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:0 50%;transform-origin:0 50%}}@-webkit-keyframes antZoomLeftOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:0 50%;transform-origin:0 50%}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:0 50%;transform-origin:0 50%;opacity:0}}@keyframes antZoomLeftOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:0 50%;transform-origin:0 50%}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:0 50%;transform-origin:0 50%;opacity:0}}@-webkit-keyframes antZoomRightIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:100% 50%;transform-origin:100% 50%}}@keyframes antZoomRightIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:100% 50%;transform-origin:100% 50%}}@-webkit-keyframes antZoomRightOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:100% 50%;transform-origin:100% 50%}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;opacity:0}}@keyframes antZoomRightOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:100% 50%;transform-origin:100% 50%}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;opacity:0}}@-webkit-keyframes antZoomDownIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}}@keyframes antZoomDownIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}}@-webkit-keyframes antZoomDownOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;opacity:0}}@keyframes antZoomDownOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;opacity:0}}.ant-motion-collapse-legacy{overflow:hidden}.ant-motion-collapse,.ant-motion-collapse-legacy-active{-webkit-transition:height .15s cubic-bezier(.645,.045,.355,1),opacity .15s cubic-bezier(.645,.045,.355,1)!important;transition:height .15s cubic-bezier(.645,.045,.355,1),opacity .15s cubic-bezier(.645,.045,.355,1)!important}.ant-motion-collapse{overflow:hidden}._3Vh8Z9{width:100%;position:fixed;top:64px;left:0;font-size:14px;z-index:1100;pointer-events:none}._3Vh8Z9-notice{padding:4px;text-align:center}._3Vh8Z9-notice.move-up-appear,._3Vh8Z9-notice.move-up-enter{animation-duration:.3s}._3Vh8Z9-notice.move-up-leave.move-up-leave-active{animation:_2mnC5S .3s cubic-bezier(.19,.4,.17,.85)}._3Vh8Z9-notice:first-child{margin-top:-4px}._3Vh8Z9-notice-content{display:inline-flex;justify-content:center;align-items:center;min-width:200px;height:40px;padding:8px 24px;border:1px solid transparent;background-color:#fff;box-shadow:0 2px 8px rgba(26,26,26,.1);border-radius:4px;pointer-events:all}._3Vh8Z9-info ._3Vh8Z9-notice-content .anticon,._3Vh8Z9-loading ._3Vh8Z9-notice-content .anticon{color:#0681d0}._3Vh8Z9-success ._3Vh8Z9-notice-content .anticon{color:#42c02e}._3Vh8Z9-warning ._3Vh8Z9-notice-content .anticon{color:#fa0}._3Vh8Z9-error ._3Vh8Z9-notice-content .anticon{color:#f50}body.reader-night-mode ._3Vh8Z9-notice-content{background-color:#3d3d3d;box-shadow:0 2px 8px rgba(0,0,0,.3)}._1WRFTg{position:relative;top:1px;margin-right:8px;font-size:16px}@keyframes _2mnC5S{0%{max-height:150px;padding:4px;opacity:1}to{max-height:0;padding:0;opacity:0}}.ant-popover{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;-webkit-font-feature-settings:"tnum","tnum";font-feature-settings:"tnum","tnum";position:absolute;top:0;left:0;z-index:1030;font-weight:normal;white-space:normal;text-align:left;cursor:auto;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ant-popover:after{position:absolute;background:hsla(0,0%,100%,.01);content:""}.ant-popover-hidden{display:none}.ant-popover-placement-top,.ant-popover-placement-topLeft,.ant-popover-placement-topRight{padding-bottom:10px}.ant-popover-placement-right,.ant-popover-placement-rightBottom,.ant-popover-placement-rightTop{padding-left:10px}.ant-popover-placement-bottom,.ant-popover-placement-bottomLeft,.ant-popover-placement-bottomRight{padding-top:10px}.ant-popover-placement-left,.ant-popover-placement-leftBottom,.ant-popover-placement-leftTop{padding-right:10px}.ant-popover-inner{background-color:#fff;background-clip:padding-box;border-radius:4px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.15);box-shadow:0 2px 8px rgba(0,0,0,.15);-webkit-box-shadow:0 0 8px rgba(0,0,0,.15)\9;box-shadow:0 0 8px rgba(0,0,0,.15)\9}@media (-ms-high-contrast:none),screen and (-ms-high-contrast:active){.ant-popover-inner{-webkit-box-shadow:0 2px 8px rgba(0,0,0,.15);box-shadow:0 2px 8px rgba(0,0,0,.15)}}.ant-popover-title{min-width:177px;min-height:32px;margin:0;padding:5px 16px 4px;color:rgba(0,0,0,.85);font-weight:500;border-bottom:1px solid #e8e8e8}.ant-popover-inner-content{padding:12px 16px;color:rgba(0,0,0,.65)}.ant-popover-message{position:relative;padding:4px 0 12px;color:rgba(0,0,0,.65);font-size:14px}.ant-popover-message>.anticon{position:absolute;top:8px;color:#faad14;font-size:14px}.ant-popover-message-title{padding-left:22px}.ant-popover-buttons{margin-bottom:4px;text-align:right}.ant-popover-buttons button{margin-left:8px}.ant-popover-arrow{position:absolute;display:block;width:8.48528137px;height:8.48528137px;background:transparent;border-style:solid;border-width:4.24264069px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.ant-popover-placement-top>.ant-popover-content>.ant-popover-arrow,.ant-popover-placement-topLeft>.ant-popover-content>.ant-popover-arrow,.ant-popover-placement-topRight>.ant-popover-content>.ant-popover-arrow{bottom:6.2px;border-color:transparent #fff #fff transparent;-webkit-box-shadow:3px 3px 7px rgba(0,0,0,.07);box-shadow:3px 3px 7px rgba(0,0,0,.07)}.ant-popover-placement-top>.ant-popover-content>.ant-popover-arrow{left:50%;-webkit-transform:translateX(-50%) rotate(45deg);-ms-transform:translateX(-50%) rotate(45deg);transform:translateX(-50%) rotate(45deg)}.ant-popover-placement-topLeft>.ant-popover-content>.ant-popover-arrow{left:16px}.ant-popover-placement-topRight>.ant-popover-content>.ant-popover-arrow{right:16px}.ant-popover-placement-right>.ant-popover-content>.ant-popover-arrow,.ant-popover-placement-rightBottom>.ant-popover-content>.ant-popover-arrow,.ant-popover-placement-rightTop>.ant-popover-content>.ant-popover-arrow{left:6px;border-color:transparent transparent #fff #fff;-webkit-box-shadow:-3px 3px 7px rgba(0,0,0,.07);box-shadow:-3px 3px 7px rgba(0,0,0,.07)}.ant-popover-placement-right>.ant-popover-content>.ant-popover-arrow{top:50%;-webkit-transform:translateY(-50%) rotate(45deg);-ms-transform:translateY(-50%) rotate(45deg);transform:translateY(-50%) rotate(45deg)}.ant-popover-placement-rightTop>.ant-popover-content>.ant-popover-arrow{top:12px}.ant-popover-placement-rightBottom>.ant-popover-content>.ant-popover-arrow{bottom:12px}.ant-popover-placement-bottom>.ant-popover-content>.ant-popover-arrow,.ant-popover-placement-bottomLeft>.ant-popover-content>.ant-popover-arrow,.ant-popover-placement-bottomRight>.ant-popover-content>.ant-popover-arrow{top:6px;border-color:#fff transparent transparent #fff;-webkit-box-shadow:-2px -2px 5px rgba(0,0,0,.06);box-shadow:-2px -2px 5px rgba(0,0,0,.06)}.ant-popover-placement-bottom>.ant-popover-content>.ant-popover-arrow{left:50%;-webkit-transform:translateX(-50%) rotate(45deg);-ms-transform:translateX(-50%) rotate(45deg);transform:translateX(-50%) rotate(45deg)}.ant-popover-placement-bottomLeft>.ant-popover-content>.ant-popover-arrow{left:16px}.ant-popover-placement-bottomRight>.ant-popover-content>.ant-popover-arrow{right:16px}.ant-popover-placement-left>.ant-popover-content>.ant-popover-arrow,.ant-popover-placement-leftBottom>.ant-popover-content>.ant-popover-arrow,.ant-popover-placement-leftTop>.ant-popover-content>.ant-popover-arrow{right:6px;border-color:#fff #fff transparent transparent;-webkit-box-shadow:3px -3px 7px rgba(0,0,0,.07);box-shadow:3px -3px 7px rgba(0,0,0,.07)}.ant-popover-placement-left>.ant-popover-content>.ant-popover-arrow{top:50%;-webkit-transform:translateY(-50%) rotate(45deg);-ms-transform:translateY(-50%) rotate(45deg);transform:translateY(-50%) rotate(45deg)}.ant-popover-placement-leftTop>.ant-popover-content>.ant-popover-arrow{top:12px}.ant-popover-placement-leftBottom>.ant-popover-content>.ant-popover-arrow{bottom:12px}@keyframes ZAhfCQ{0%{opacity:.382;top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px}to{opacity:0;top:-6px;left:-6px;bottom:-6px;right:-6px;border-width:6px}}._1OyPqC{position:relative;flex-shrink:0;display:inline-flex;justify-content:center;align-items:center;border-radius:50px;touch-action:manipulation;cursor:pointer;background-image:none;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:all .2s cubic-bezier(.645,.045,.355,1);font-size:14px;padding:4px 12px;color:#969696;background-color:#fff;border:1px solid #999}._1OyPqC+._1OyPqC,._1OyPqC>.anticon+span,._1OyPqC>span+.anticon{margin-left:8px}._1OyPqC:focus,._1OyPqC:hover{color:#7d7d7d;background-color:#fff;border-color:#999}._1OyPqC:active{color:#636363;background-color:#fff;border-color:#999}body.reader-night-mode ._1OyPqC{color:#b3b3b3;background-color:#3d3d3d;border-color:#999}body.reader-night-mode ._1OyPqC:focus,body.reader-night-mode ._1OyPqC:hover{color:#ccc;background-color:#3d3d3d;border-color:#999}body.reader-night-mode ._1OyPqC:active{color:#e6e6e6;background-color:#3d3d3d;border-color:#999}._1OyPqC._2SIRy5:before{content:"";position:absolute;border-radius:inherit;border:0 solid #999;animation:ZAhfCQ .3s ease-out forwards}._2m5ItF,._2m5ItF[disabled]:hover{color:#0681d0;background-color:#fff;border-color:#0681d0}._2m5ItF:focus,._2m5ItF:hover{color:#0681d0;background-color:#f3f9fd;border-color:#0681d0}._2m5ItF:active{color:#0681d0;background-color:#e6f2fa;border-color:#0681d0}body.reader-night-mode ._2m5ItF,body.reader-night-mode ._2m5ItF[disabled]:hover{color:#0681d0;background-color:#3d3d3d;border-color:#0681d0}body.reader-night-mode ._2m5ItF:focus,body.reader-night-mode ._2m5ItF:hover{color:#0681d0;background-color:#3a4145;border-color:#0681d0}body.reader-night-mode ._2m5ItF:active{color:#0681d0;background-color:#38444c;border-color:#0681d0}._2m5ItF._2SIRy5:before{content:"";position:absolute;border-radius:inherit;border:0 solid #0681d0;animation:ZAhfCQ .3s ease-out forwards}._2m5ItF._1YbC5u,._2m5ItF._1YbC5u[disabled]:hover{color:#fff;background-color:#0681d0;border-color:#0681d0}._2m5ItF._1YbC5u:focus,._2m5ItF._1YbC5u:hover{color:#fff;background-color:#1287d2;border-color:#0681d0}._2m5ItF._1YbC5u:active{color:#fff;background-color:#1f8ed5;border-color:#0681d0}body.reader-night-mode ._2m5ItF._1YbC5u,body.reader-night-mode ._2m5ItF._1YbC5u[disabled]:hover{color:#fff;background-color:#0681d0;border-color:#0681d0}body.reader-night-mode ._2m5ItF._1YbC5u:focus,body.reader-night-mode ._2m5ItF._1YbC5u:hover{color:#fff;background-color:#1287d2;border-color:#0681d0}body.reader-night-mode ._2m5ItF._1YbC5u:active{color:#fff;background-color:#1f8ed5;border-color:#0681d0}._3eNUy2,._3eNUy2[disabled]:hover{color:#42c02e;background-color:#fff;border-color:#42c02e}._3eNUy2:focus,._3eNUy2:hover{color:#42c02e;background-color:#f6fcf5;border-color:#42c02e}._3eNUy2:active{color:#42c02e;background-color:#ecf9ea;border-color:#42c02e}body.reader-night-mode ._3eNUy2,body.reader-night-mode ._3eNUy2[disabled]:hover{color:#42c02e;background-color:#3d3d3d;border-color:#42c02e}body.reader-night-mode ._3eNUy2:focus,body.reader-night-mode ._3eNUy2:hover{color:#42c02e;background-color:#3d443c;border-color:#42c02e}body.reader-night-mode ._3eNUy2:active{color:#42c02e;background-color:#3e4a3c;border-color:#42c02e}._3eNUy2._2SIRy5:before{content:"";position:absolute;border-radius:inherit;border:0 solid #42c02e;animation:ZAhfCQ .3s ease-out forwards}._3eNUy2._1YbC5u,._3eNUy2._1YbC5u[disabled]:hover{color:#fff;background-color:#42c02e;border-color:#42c02e}._3eNUy2._1YbC5u:focus,._3eNUy2._1YbC5u:hover{color:#fff;background-color:#4bc338;border-color:#42c02e}._3eNUy2._1YbC5u:active{color:#fff;background-color:#55c643;border-color:#42c02e}body.reader-night-mode ._3eNUy2._1YbC5u,body.reader-night-mode ._3eNUy2._1YbC5u[disabled]:hover{color:#fff;background-color:#42c02e;border-color:#42c02e}body.reader-night-mode ._3eNUy2._1YbC5u:focus,body.reader-night-mode ._3eNUy2._1YbC5u:hover{color:#fff;background-color:#4bc338;border-color:#42c02e}body.reader-night-mode ._3eNUy2._1YbC5u:active{color:#fff;background-color:#55c643;border-color:#42c02e}._1Pf1Ow,._1Pf1Ow[disabled]:hover{color:#fa0;background-color:#fff;border-color:#fa0}._1Pf1Ow:focus,._1Pf1Ow:hover{color:#fa0;background-color:#fffbf2;border-color:#fa0}._1Pf1Ow:active{color:#fa0;background-color:#fff7e6;border-color:#fa0}body.reader-night-mode ._1Pf1Ow,body.reader-night-mode ._1Pf1Ow[disabled]:hover{color:#fa0;background-color:#3d3d3d;border-color:#fa0}body.reader-night-mode ._1Pf1Ow:focus,body.reader-night-mode ._1Pf1Ow:hover{color:#fa0;background-color:#47433a;border-color:#fa0}body.reader-night-mode ._1Pf1Ow:active{color:#fa0;background-color:#514837;border-color:#fa0}._1Pf1Ow._2SIRy5:before{content:"";position:absolute;border-radius:inherit;border:0 solid #fa0;animation:ZAhfCQ .3s ease-out forwards}._1Pf1Ow._1YbC5u,._1Pf1Ow._1YbC5u[disabled]:hover{color:#fff;background-color:#fa0;border-color:#fa0}._1Pf1Ow._1YbC5u:focus,._1Pf1Ow._1YbC5u:hover{color:#fff;background-color:#ffae0d;border-color:#fa0}._1Pf1Ow._1YbC5u:active{color:#fff;background-color:#ffb31a;border-color:#fa0}body.reader-night-mode ._1Pf1Ow._1YbC5u,body.reader-night-mode ._1Pf1Ow._1YbC5u[disabled]:hover{color:#fff;background-color:#fa0;border-color:#fa0}body.reader-night-mode ._1Pf1Ow._1YbC5u:focus,body.reader-night-mode ._1Pf1Ow._1YbC5u:hover{color:#fff;background-color:#ffae0d;border-color:#fa0}body.reader-night-mode ._1Pf1Ow._1YbC5u:active{color:#fff;background-color:#ffb31a;border-color:#fa0}._3ZfHoT,._3ZfHoT[disabled]:hover{color:#f50;background-color:#fff;border-color:#f50}._3ZfHoT:focus,._3ZfHoT:hover{color:#f50;background-color:#fff7f2;border-color:#f50}._3ZfHoT:active{color:#f50;background-color:#ffeee6;border-color:#f50}body.reader-night-mode ._3ZfHoT,body.reader-night-mode ._3ZfHoT[disabled]:hover{color:#f50;background-color:#3d3d3d;border-color:#f50}body.reader-night-mode ._3ZfHoT:focus,body.reader-night-mode ._3ZfHoT:hover{color:#f50;background-color:#473e3a;border-color:#f50}body.reader-night-mode ._3ZfHoT:active{color:#f50;background-color:#514037;border-color:#f50}._3ZfHoT._2SIRy5:before{content:"";position:absolute;border-radius:inherit;border:0 solid #f50;animation:ZAhfCQ .3s ease-out forwards}._3ZfHoT._1YbC5u,._3ZfHoT._1YbC5u[disabled]:hover{color:#fff;background-color:#f50;border-color:#f50}._3ZfHoT._1YbC5u:focus,._3ZfHoT._1YbC5u:hover{color:#fff;background-color:#ff5e0d;border-color:#f50}._3ZfHoT._1YbC5u:active{color:#fff;background-color:#ff661a;border-color:#f50}body.reader-night-mode ._3ZfHoT._1YbC5u,body.reader-night-mode ._3ZfHoT._1YbC5u[disabled]:hover{color:#fff;background-color:#f50;border-color:#f50}body.reader-night-mode ._3ZfHoT._1YbC5u:focus,body.reader-night-mode ._3ZfHoT._1YbC5u:hover{color:#fff;background-color:#ff5e0d;border-color:#f50}body.reader-night-mode ._3ZfHoT._1YbC5u:active{color:#fff;background-color:#ff661a;border-color:#f50}._3Mi9q9,._3Mi9q9[disabled]:hover{color:#ec7259;background-color:#fff;border-color:#ec7259}._3Mi9q9:focus,._3Mi9q9:hover{color:#ec7259;background-color:#fef8f7;border-color:#ec7259}._3Mi9q9:active{color:#ec7259;background-color:#fdf1ee;border-color:#ec7259}body.reader-night-mode ._3Mi9q9,body.reader-night-mode ._3Mi9q9[disabled]:hover{color:#ec7259;background-color:#3d3d3d;border-color:#ec7259}body.reader-night-mode ._3Mi9q9:focus,body.reader-night-mode ._3Mi9q9:hover{color:#ec7259;background-color:#46403f;border-color:#ec7259}body.reader-night-mode ._3Mi9q9:active{color:#ec7259;background-color:#4f4240;border-color:#ec7259}._3Mi9q9._2SIRy5:before{content:"";position:absolute;border-radius:inherit;border:0 solid #ec7259;animation:ZAhfCQ .3s ease-out forwards}._3Mi9q9._1YbC5u,._3Mi9q9._1YbC5u[disabled]:hover{color:#fff;background-color:#ec7259;border-color:#ec7259}._3Mi9q9._1YbC5u:focus,._3Mi9q9._1YbC5u:hover{color:#fff;background-color:#ed7961;border-color:#ec7259}._3Mi9q9._1YbC5u:active{color:#fff;background-color:#ee806a;border-color:#ec7259}body.reader-night-mode ._3Mi9q9._1YbC5u,body.reader-night-mode ._3Mi9q9._1YbC5u[disabled]:hover{color:#fff;background-color:#ec7259;border-color:#ec7259}body.reader-night-mode ._3Mi9q9._1YbC5u:focus,body.reader-night-mode ._3Mi9q9._1YbC5u:hover{color:#fff;background-color:#ed7961;border-color:#ec7259}body.reader-night-mode ._3Mi9q9._1YbC5u:active{color:#fff;background-color:#ee806a;border-color:#ec7259}._2Tdlgt,._2Tdlgt[disabled]:hover{color:#da9e55;background-color:#fff;border-color:#da9e55}._2Tdlgt:focus,._2Tdlgt:hover{color:#da9e55;background-color:#fdfaf7;border-color:#da9e55}._2Tdlgt:active{color:#da9e55;background-color:#fbf5ee;border-color:#da9e55}body.reader-night-mode ._2Tdlgt,body.reader-night-mode ._2Tdlgt[disabled]:hover{color:#da9e55;background-color:#3d3d3d;border-color:#da9e55}body.reader-night-mode ._2Tdlgt:focus,body.reader-night-mode ._2Tdlgt:hover{color:#da9e55;background-color:#45423e;border-color:#da9e55}body.reader-night-mode ._2Tdlgt:active{color:#da9e55;background-color:#4d4740;border-color:#da9e55}._2Tdlgt._2SIRy5:before{content:"";position:absolute;border-radius:inherit;border:0 solid #da9e55;animation:ZAhfCQ .3s ease-out forwards}._2Tdlgt._1YbC5u,._2Tdlgt._1YbC5u[disabled]:hover{color:#fff;background-color:#da9e55;border-color:#da9e55}._2Tdlgt._1YbC5u:focus,._2Tdlgt._1YbC5u:hover{color:#fff;background-color:#dca35e;border-color:#da9e55}._2Tdlgt._1YbC5u:active{color:#fff;background-color:#dea866;border-color:#da9e55}body.reader-night-mode ._2Tdlgt._1YbC5u,body.reader-night-mode ._2Tdlgt._1YbC5u[disabled]:hover{color:#fff;background-color:#da9e55;border-color:#da9e55}body.reader-night-mode ._2Tdlgt._1YbC5u:focus,body.reader-night-mode ._2Tdlgt._1YbC5u:hover{color:#fff;background-color:#dca35e;border-color:#da9e55}body.reader-night-mode ._2Tdlgt._1YbC5u:active{color:#fff;background-color:#dea866;border-color:#da9e55}._2nzlC_,._2nzlC_[disabled]:hover{color:#999;background-color:#fff;border-color:#999}._2nzlC_:focus,._2nzlC_:hover{color:#999;background-color:#fafafa;border-color:#999}._2nzlC_:active{color:#999;background-color:#f5f5f5;border-color:#999}body.reader-night-mode ._2nzlC_,body.reader-night-mode ._2nzlC_[disabled]:hover{color:#999;background-color:#3d3d3d;border-color:#999}body.reader-night-mode ._2nzlC_:focus,body.reader-night-mode ._2nzlC_:hover{color:#999;background-color:#424242;border-color:#999}body.reader-night-mode ._2nzlC_:active{color:#999;background-color:#464646;border-color:#999}._2nzlC_._2SIRy5:before{content:"";position:absolute;border-radius:inherit;border:0 solid #999;animation:ZAhfCQ .3s ease-out forwards}._2nzlC_._1YbC5u,._2nzlC_._1YbC5u[disabled]:hover{color:#fff;background-color:#999;border-color:#999}._2nzlC_._1YbC5u:focus,._2nzlC_._1YbC5u:hover{color:#fff;background-color:#9e9e9e;border-color:#999}._2nzlC_._1YbC5u:active{color:#fff;background-color:#a3a3a3;border-color:#999}body.reader-night-mode ._2nzlC_._1YbC5u,body.reader-night-mode ._2nzlC_._1YbC5u[disabled]:hover{color:#fff;background-color:#999;border-color:#999}body.reader-night-mode ._2nzlC_._1YbC5u:focus,body.reader-night-mode ._2nzlC_._1YbC5u:hover{color:#fff;background-color:#9e9e9e;border-color:#999}body.reader-night-mode ._2nzlC_._1YbC5u:active{color:#fff;background-color:#a3a3a3;border-color:#999}._34692-{font-size:12px;padding:0 5px}._2WY0RL{font-size:16px;padding:8px 16px}._1AT95S{color:#969696}._1AT95S,._1AT95S:focus,._1AT95S:hover{background-color:transparent;border-color:transparent}._1AT95S:focus,._1AT95S:hover{color:#7d7d7d}._1AT95S:active{color:#636363}._1AT95S:active,body.reader-night-mode ._1AT95S{background-color:transparent;border-color:transparent}body.reader-night-mode ._1AT95S{color:#b3b3b3}body.reader-night-mode ._1AT95S:focus,body.reader-night-mode ._1AT95S:hover{color:#ccc;background-color:transparent;border-color:transparent}body.reader-night-mode ._1AT95S:active{color:#e6e6e6;background-color:transparent;border-color:transparent}._1OyPqC[disabled]:before,._31-TB-:before{content:"";display:block;position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:1;background-color:#fff;border-radius:inherit;opacity:.35;transition:opacity .2s;pointer-events:none}body.reader-night-mode ._1OyPqC[disabled]:before,body.reader-night-mode ._31-TB-:before{background-color:#3d3d3d}._1OyPqC[disabled]{cursor:not-allowed}._31-TB-{pointer-events:none}.ZccRSO,.ZccRSO[disabled]:hover{color:#ec7259;background-color:#ffebeb;border-color:#ffebeb}.ZccRSO:focus,.ZccRSO:hover{color:#ec7259;background-color:#fee5e4;border-color:#ffebeb}.ZccRSO:active{color:#ec7259;background-color:#fddfdc;border-color:#ffebeb}body.reader-night-mode .ZccRSO,body.reader-night-mode .ZccRSO[disabled]:hover{color:#ec7259;background-color:rgba(236,114,89,.1);border-color:transparent}body.reader-night-mode .ZccRSO:focus,body.reader-night-mode .ZccRSO:hover{color:#ec7259;background-color:rgba(236,114,89,.145);border-color:transparent}body.reader-night-mode .ZccRSO:active{color:#ec7259;background-color:rgba(236,114,89,.19);border-color:transparent}.ZccRSO._2SIRy5:before{content:"";position:absolute;border-radius:inherit;border:0 solid rgba(236,114,89,.3);animation:ZAhfCQ .3s ease-out forwards}.wCYvWN{fill:currentColor;vertical-align:middle}.ant-dropdown{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;-webkit-font-feature-settings:"tnum","tnum";font-feature-settings:"tnum","tnum";position:absolute;top:-9999px;left:-9999px;z-index:1050;display:block}.ant-dropdown:before{position:absolute;top:-7px;right:0;bottom:-7px;left:-7px;z-index:-9999;opacity:.0001;content:" "}.ant-dropdown-wrap{position:relative}.ant-dropdown-wrap .ant-btn>.anticon-down{display:inline-block;font-size:12px;font-size:10px\9;-webkit-transform:scale(.83333333) rotate(0deg);-ms-transform:scale(.83333333) rotate(0deg);transform:scale(.83333333) rotate(0deg)}:root .ant-dropdown-wrap .ant-btn>.anticon-down{font-size:12px}.ant-dropdown-wrap .anticon-down:before{-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.ant-dropdown-wrap-open .anticon-down:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.ant-dropdown-hidden,.ant-dropdown-menu-hidden{display:none}.ant-dropdown-menu{position:relative;margin:0;padding:4px 0;text-align:left;list-style-type:none;background-color:#fff;background-clip:padding-box;border-radius:4px;outline:none;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.15);box-shadow:0 2px 8px rgba(0,0,0,.15);-webkit-transform:translateZ(0)}.ant-dropdown-menu-item-group-title{padding:5px 12px;color:rgba(0,0,0,.45);-webkit-transition:all .3s;transition:all .3s}.ant-dropdown-menu-submenu-popup{position:absolute;z-index:1050}.ant-dropdown-menu-submenu-popup>.ant-dropdown-menu{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.ant-dropdown-menu-item,.ant-dropdown-menu-submenu-title{clear:both;margin:0;padding:5px 12px;color:rgba(0,0,0,.65);font-weight:normal;font-size:14px;line-height:22px;white-space:nowrap;cursor:pointer;-webkit-transition:all .3s;transition:all .3s}.ant-dropdown-menu-item>.anticon:first-child,.ant-dropdown-menu-submenu-title>.anticon:first-child{min-width:12px;margin-right:8px}.ant-dropdown-menu-item>a,.ant-dropdown-menu-submenu-title>a{display:block;margin:-5px -12px;padding:5px 12px;color:rgba(0,0,0,.65);-webkit-transition:all .3s;transition:all .3s}.ant-dropdown-menu-item-selected,.ant-dropdown-menu-item-selected>a,.ant-dropdown-menu-submenu-title-selected,.ant-dropdown-menu-submenu-title-selected>a{color:#ec7259;background-color:#fff5f0}.ant-dropdown-menu-item:hover,.ant-dropdown-menu-submenu-title:hover{background-color:#fff5f0}.ant-dropdown-menu-item-disabled,.ant-dropdown-menu-submenu-title-disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-dropdown-menu-item-disabled:hover,.ant-dropdown-menu-submenu-title-disabled:hover{color:rgba(0,0,0,.25);background-color:#fff;cursor:not-allowed}.ant-dropdown-menu-item-divider,.ant-dropdown-menu-submenu-title-divider{height:1px;margin:4px 0;overflow:hidden;line-height:0;background-color:#e8e8e8}.ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow,.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow{position:absolute;right:8px}.ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow-icon,.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon{color:rgba(0,0,0,.45);font-style:normal;display:inline-block;font-size:12px;font-size:10px\9;-webkit-transform:scale(.83333333) rotate(0deg);-ms-transform:scale(.83333333) rotate(0deg);transform:scale(.83333333) rotate(0deg)}:root .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow-icon,:root .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon{font-size:12px}.ant-dropdown-menu-submenu-title{padding-right:26px}.ant-dropdown-menu-submenu-vertical{position:relative}.ant-dropdown-menu-submenu-vertical>.ant-dropdown-menu{position:absolute;top:0;left:100%;min-width:100%;margin-left:4px;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title,.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon{color:rgba(0,0,0,.25);background-color:#fff;cursor:not-allowed}.ant-dropdown.slide-down-appear.slide-down-appear-active.ant-dropdown-placement-bottomCenter,.ant-dropdown.slide-down-appear.slide-down-appear-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.slide-down-appear.slide-down-appear-active.ant-dropdown-placement-bottomRight,.ant-dropdown.slide-down-enter.slide-down-enter-active.ant-dropdown-placement-bottomCenter,.ant-dropdown.slide-down-enter.slide-down-enter-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.slide-down-enter.slide-down-enter-active.ant-dropdown-placement-bottomRight{-webkit-animation-name:antSlideUpIn;animation-name:antSlideUpIn}.ant-dropdown.slide-up-appear.slide-up-appear-active.ant-dropdown-placement-topCenter,.ant-dropdown.slide-up-appear.slide-up-appear-active.ant-dropdown-placement-topLeft,.ant-dropdown.slide-up-appear.slide-up-appear-active.ant-dropdown-placement-topRight,.ant-dropdown.slide-up-enter.slide-up-enter-active.ant-dropdown-placement-topCenter,.ant-dropdown.slide-up-enter.slide-up-enter-active.ant-dropdown-placement-topLeft,.ant-dropdown.slide-up-enter.slide-up-enter-active.ant-dropdown-placement-topRight{-webkit-animation-name:antSlideDownIn;animation-name:antSlideDownIn}.ant-dropdown.slide-down-leave.slide-down-leave-active.ant-dropdown-placement-bottomCenter,.ant-dropdown.slide-down-leave.slide-down-leave-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.slide-down-leave.slide-down-leave-active.ant-dropdown-placement-bottomRight{-webkit-animation-name:antSlideUpOut;animation-name:antSlideUpOut}.ant-dropdown.slide-up-leave.slide-up-leave-active.ant-dropdown-placement-topCenter,.ant-dropdown.slide-up-leave.slide-up-leave-active.ant-dropdown-placement-topLeft,.ant-dropdown.slide-up-leave.slide-up-leave-active.ant-dropdown-placement-topRight{-webkit-animation-name:antSlideDownOut;animation-name:antSlideDownOut}.ant-dropdown-link>.anticon.anticon-down,.ant-dropdown-trigger>.anticon.anticon-down{display:inline-block;font-size:12px;font-size:10px\9;-webkit-transform:scale(.83333333) rotate(0deg);-ms-transform:scale(.83333333) rotate(0deg);transform:scale(.83333333) rotate(0deg)}:root .ant-dropdown-link>.anticon.anticon-down,:root .ant-dropdown-trigger>.anticon.anticon-down{font-size:12px}.ant-dropdown-button{white-space:nowrap}.ant-dropdown-button.ant-btn-group>.ant-btn:last-child:not(:first-child){padding-right:8px;padding-left:8px}.ant-dropdown-button .anticon.anticon-down{display:inline-block;font-size:12px;font-size:10px\9;-webkit-transform:scale(.83333333) rotate(0deg);-ms-transform:scale(.83333333) rotate(0deg);transform:scale(.83333333) rotate(0deg)}:root .ant-dropdown-button .anticon.anticon-down{font-size:12px}.ant-dropdown-menu-dark,.ant-dropdown-menu-dark .ant-dropdown-menu{background:#001529}.ant-dropdown-menu-dark .ant-dropdown-menu-item,.ant-dropdown-menu-dark .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow:after,.ant-dropdown-menu-dark .ant-dropdown-menu-item>a,.ant-dropdown-menu-dark .ant-dropdown-menu-item>a .ant-dropdown-menu-submenu-arrow:after,.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title,.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow:after{color:hsla(0,0%,100%,.65)}.ant-dropdown-menu-dark .ant-dropdown-menu-item:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-item>a:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title:hover{color:#fff;background:transparent}.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected,.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected>a{color:#fff;background:#ec7259}.ant-btn{line-height:1.5;position:relative;display:inline-block;font-weight:400;white-space:nowrap;text-align:center;background-image:none;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.015);box-shadow:0 2px 0 rgba(0,0,0,.015);cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:manipulation;touch-action:manipulation;height:32px;padding:0 15px;font-size:14px;border-radius:4px;color:rgba(0,0,0,.65);background-color:#fff;border:1px solid #d9d9d9}.ant-btn>.anticon{line-height:1}.ant-btn,.ant-btn:active,.ant-btn:focus{outline:0}.ant-btn:not([disabled]):hover{text-decoration:none}.ant-btn:not([disabled]):active{outline:0;-webkit-box-shadow:none;box-shadow:none}.ant-btn.disabled,.ant-btn[disabled]{cursor:not-allowed}.ant-btn.disabled>*,.ant-btn[disabled]>*{pointer-events:none}.ant-btn-lg{height:40px;padding:0 15px;font-size:16px;border-radius:4px}.ant-btn-sm{height:24px;padding:0 7px;font-size:14px;border-radius:4px}.ant-btn>a:only-child{color:currentColor}.ant-btn>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn:focus,.ant-btn:hover{color:#fa9e87;background-color:#fff;border-color:#fa9e87}.ant-btn:focus>a:only-child,.ant-btn:hover>a:only-child{color:currentColor}.ant-btn:focus>a:only-child:after,.ant-btn:hover>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn.active,.ant-btn:active{color:#c75342;background-color:#fff;border-color:#c75342}.ant-btn.active>a:only-child,.ant-btn:active>a:only-child{color:currentColor}.ant-btn.active>a:only-child:after,.ant-btn:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-disabled,.ant-btn-disabled.active,.ant-btn-disabled:active,.ant-btn-disabled:focus,.ant-btn-disabled:hover,.ant-btn.disabled,.ant-btn.disabled.active,.ant-btn.disabled:active,.ant-btn.disabled:focus,.ant-btn.disabled:hover,.ant-btn[disabled],.ant-btn[disabled].active,.ant-btn[disabled]:active,.ant-btn[disabled]:focus,.ant-btn[disabled]:hover{color:rgba(0,0,0,.25);background-color:#f5f5f5;border-color:#d9d9d9;text-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ant-btn-disabled.active>a:only-child,.ant-btn-disabled:active>a:only-child,.ant-btn-disabled:focus>a:only-child,.ant-btn-disabled:hover>a:only-child,.ant-btn-disabled>a:only-child,.ant-btn.disabled.active>a:only-child,.ant-btn.disabled:active>a:only-child,.ant-btn.disabled:focus>a:only-child,.ant-btn.disabled:hover>a:only-child,.ant-btn.disabled>a:only-child,.ant-btn[disabled].active>a:only-child,.ant-btn[disabled]:active>a:only-child,.ant-btn[disabled]:focus>a:only-child,.ant-btn[disabled]:hover>a:only-child,.ant-btn[disabled]>a:only-child{color:currentColor}.ant-btn-disabled.active>a:only-child:after,.ant-btn-disabled:active>a:only-child:after,.ant-btn-disabled:focus>a:only-child:after,.ant-btn-disabled:hover>a:only-child:after,.ant-btn-disabled>a:only-child:after,.ant-btn.disabled.active>a:only-child:after,.ant-btn.disabled:active>a:only-child:after,.ant-btn.disabled:focus>a:only-child:after,.ant-btn.disabled:hover>a:only-child:after,.ant-btn.disabled>a:only-child:after,.ant-btn[disabled].active>a:only-child:after,.ant-btn[disabled]:active>a:only-child:after,.ant-btn[disabled]:focus>a:only-child:after,.ant-btn[disabled]:hover>a:only-child:after,.ant-btn[disabled]>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn.active,.ant-btn:active,.ant-btn:focus,.ant-btn:hover{text-decoration:none;background:#fff}.ant-btn>i,.ant-btn>span{display:inline-block;-webkit-transition:margin-left .3s cubic-bezier(.645,.045,.355,1);transition:margin-left .3s cubic-bezier(.645,.045,.355,1);pointer-events:none}.ant-btn-primary{color:#fff;background-color:#ec7259;border-color:#ec7259;text-shadow:0 -1px 0 rgba(0,0,0,.12);-webkit-box-shadow:0 2px 0 rgba(0,0,0,.045);box-shadow:0 2px 0 rgba(0,0,0,.045)}.ant-btn-primary>a:only-child{color:currentColor}.ant-btn-primary>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-primary:focus,.ant-btn-primary:hover{color:#fff;background-color:#fa9e87;border-color:#fa9e87}.ant-btn-primary:focus>a:only-child,.ant-btn-primary:hover>a:only-child{color:currentColor}.ant-btn-primary:focus>a:only-child:after,.ant-btn-primary:hover>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-primary.active,.ant-btn-primary:active{color:#fff;background-color:#c75342;border-color:#c75342}.ant-btn-primary.active>a:only-child,.ant-btn-primary:active>a:only-child{color:currentColor}.ant-btn-primary.active>a:only-child:after,.ant-btn-primary:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-primary-disabled,.ant-btn-primary-disabled.active,.ant-btn-primary-disabled:active,.ant-btn-primary-disabled:focus,.ant-btn-primary-disabled:hover,.ant-btn-primary.disabled,.ant-btn-primary.disabled.active,.ant-btn-primary.disabled:active,.ant-btn-primary.disabled:focus,.ant-btn-primary.disabled:hover,.ant-btn-primary[disabled],.ant-btn-primary[disabled].active,.ant-btn-primary[disabled]:active,.ant-btn-primary[disabled]:focus,.ant-btn-primary[disabled]:hover{color:rgba(0,0,0,.25);background-color:#f5f5f5;border-color:#d9d9d9;text-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ant-btn-primary-disabled.active>a:only-child,.ant-btn-primary-disabled:active>a:only-child,.ant-btn-primary-disabled:focus>a:only-child,.ant-btn-primary-disabled:hover>a:only-child,.ant-btn-primary-disabled>a:only-child,.ant-btn-primary.disabled.active>a:only-child,.ant-btn-primary.disabled:active>a:only-child,.ant-btn-primary.disabled:focus>a:only-child,.ant-btn-primary.disabled:hover>a:only-child,.ant-btn-primary.disabled>a:only-child,.ant-btn-primary[disabled].active>a:only-child,.ant-btn-primary[disabled]:active>a:only-child,.ant-btn-primary[disabled]:focus>a:only-child,.ant-btn-primary[disabled]:hover>a:only-child,.ant-btn-primary[disabled]>a:only-child{color:currentColor}.ant-btn-primary-disabled.active>a:only-child:after,.ant-btn-primary-disabled:active>a:only-child:after,.ant-btn-primary-disabled:focus>a:only-child:after,.ant-btn-primary-disabled:hover>a:only-child:after,.ant-btn-primary-disabled>a:only-child:after,.ant-btn-primary.disabled.active>a:only-child:after,.ant-btn-primary.disabled:active>a:only-child:after,.ant-btn-primary.disabled:focus>a:only-child:after,.ant-btn-primary.disabled:hover>a:only-child:after,.ant-btn-primary.disabled>a:only-child:after,.ant-btn-primary[disabled].active>a:only-child:after,.ant-btn-primary[disabled]:active>a:only-child:after,.ant-btn-primary[disabled]:focus>a:only-child:after,.ant-btn-primary[disabled]:hover>a:only-child:after,.ant-btn-primary[disabled]>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child){border-right-color:#fa9e87;border-left-color:#fa9e87}.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child):disabled{border-color:#d9d9d9}.ant-btn-group .ant-btn-primary:first-child:not(:last-child){border-right-color:#fa9e87}.ant-btn-group .ant-btn-primary:first-child:not(:last-child)[disabled]{border-right-color:#d9d9d9}.ant-btn-group .ant-btn-primary+.ant-btn-primary,.ant-btn-group .ant-btn-primary:last-child:not(:first-child){border-left-color:#fa9e87}.ant-btn-group .ant-btn-primary+.ant-btn-primary[disabled],.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled]{border-left-color:#d9d9d9}.ant-btn-ghost{color:rgba(0,0,0,.65);background-color:transparent;border-color:#d9d9d9}.ant-btn-ghost>a:only-child{color:currentColor}.ant-btn-ghost>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-ghost:focus,.ant-btn-ghost:hover{color:#fa9e87;background-color:transparent;border-color:#fa9e87}.ant-btn-ghost:focus>a:only-child,.ant-btn-ghost:hover>a:only-child{color:currentColor}.ant-btn-ghost:focus>a:only-child:after,.ant-btn-ghost:hover>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-ghost.active,.ant-btn-ghost:active{color:#c75342;background-color:transparent;border-color:#c75342}.ant-btn-ghost.active>a:only-child,.ant-btn-ghost:active>a:only-child{color:currentColor}.ant-btn-ghost.active>a:only-child:after,.ant-btn-ghost:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-ghost-disabled,.ant-btn-ghost-disabled.active,.ant-btn-ghost-disabled:active,.ant-btn-ghost-disabled:focus,.ant-btn-ghost-disabled:hover,.ant-btn-ghost.disabled,.ant-btn-ghost.disabled.active,.ant-btn-ghost.disabled:active,.ant-btn-ghost.disabled:focus,.ant-btn-ghost.disabled:hover,.ant-btn-ghost[disabled],.ant-btn-ghost[disabled].active,.ant-btn-ghost[disabled]:active,.ant-btn-ghost[disabled]:focus,.ant-btn-ghost[disabled]:hover{color:rgba(0,0,0,.25);background-color:#f5f5f5;border-color:#d9d9d9;text-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ant-btn-ghost-disabled.active>a:only-child,.ant-btn-ghost-disabled:active>a:only-child,.ant-btn-ghost-disabled:focus>a:only-child,.ant-btn-ghost-disabled:hover>a:only-child,.ant-btn-ghost-disabled>a:only-child,.ant-btn-ghost.disabled.active>a:only-child,.ant-btn-ghost.disabled:active>a:only-child,.ant-btn-ghost.disabled:focus>a:only-child,.ant-btn-ghost.disabled:hover>a:only-child,.ant-btn-ghost.disabled>a:only-child,.ant-btn-ghost[disabled].active>a:only-child,.ant-btn-ghost[disabled]:active>a:only-child,.ant-btn-ghost[disabled]:focus>a:only-child,.ant-btn-ghost[disabled]:hover>a:only-child,.ant-btn-ghost[disabled]>a:only-child{color:currentColor}.ant-btn-ghost-disabled.active>a:only-child:after,.ant-btn-ghost-disabled:active>a:only-child:after,.ant-btn-ghost-disabled:focus>a:only-child:after,.ant-btn-ghost-disabled:hover>a:only-child:after,.ant-btn-ghost-disabled>a:only-child:after,.ant-btn-ghost.disabled.active>a:only-child:after,.ant-btn-ghost.disabled:active>a:only-child:after,.ant-btn-ghost.disabled:focus>a:only-child:after,.ant-btn-ghost.disabled:hover>a:only-child:after,.ant-btn-ghost.disabled>a:only-child:after,.ant-btn-ghost[disabled].active>a:only-child:after,.ant-btn-ghost[disabled]:active>a:only-child:after,.ant-btn-ghost[disabled]:focus>a:only-child:after,.ant-btn-ghost[disabled]:hover>a:only-child:after,.ant-btn-ghost[disabled]>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dashed{color:rgba(0,0,0,.65);background-color:#fff;border-color:#d9d9d9;border-style:dashed}.ant-btn-dashed>a:only-child{color:currentColor}.ant-btn-dashed>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dashed:focus,.ant-btn-dashed:hover{color:#fa9e87;background-color:#fff;border-color:#fa9e87}.ant-btn-dashed:focus>a:only-child,.ant-btn-dashed:hover>a:only-child{color:currentColor}.ant-btn-dashed:focus>a:only-child:after,.ant-btn-dashed:hover>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dashed.active,.ant-btn-dashed:active{color:#c75342;background-color:#fff;border-color:#c75342}.ant-btn-dashed.active>a:only-child,.ant-btn-dashed:active>a:only-child{color:currentColor}.ant-btn-dashed.active>a:only-child:after,.ant-btn-dashed:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dashed-disabled,.ant-btn-dashed-disabled.active,.ant-btn-dashed-disabled:active,.ant-btn-dashed-disabled:focus,.ant-btn-dashed-disabled:hover,.ant-btn-dashed.disabled,.ant-btn-dashed.disabled.active,.ant-btn-dashed.disabled:active,.ant-btn-dashed.disabled:focus,.ant-btn-dashed.disabled:hover,.ant-btn-dashed[disabled],.ant-btn-dashed[disabled].active,.ant-btn-dashed[disabled]:active,.ant-btn-dashed[disabled]:focus,.ant-btn-dashed[disabled]:hover{color:rgba(0,0,0,.25);background-color:#f5f5f5;border-color:#d9d9d9;text-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ant-btn-dashed-disabled.active>a:only-child,.ant-btn-dashed-disabled:active>a:only-child,.ant-btn-dashed-disabled:focus>a:only-child,.ant-btn-dashed-disabled:hover>a:only-child,.ant-btn-dashed-disabled>a:only-child,.ant-btn-dashed.disabled.active>a:only-child,.ant-btn-dashed.disabled:active>a:only-child,.ant-btn-dashed.disabled:focus>a:only-child,.ant-btn-dashed.disabled:hover>a:only-child,.ant-btn-dashed.disabled>a:only-child,.ant-btn-dashed[disabled].active>a:only-child,.ant-btn-dashed[disabled]:active>a:only-child,.ant-btn-dashed[disabled]:focus>a:only-child,.ant-btn-dashed[disabled]:hover>a:only-child,.ant-btn-dashed[disabled]>a:only-child{color:currentColor}.ant-btn-dashed-disabled.active>a:only-child:after,.ant-btn-dashed-disabled:active>a:only-child:after,.ant-btn-dashed-disabled:focus>a:only-child:after,.ant-btn-dashed-disabled:hover>a:only-child:after,.ant-btn-dashed-disabled>a:only-child:after,.ant-btn-dashed.disabled.active>a:only-child:after,.ant-btn-dashed.disabled:active>a:only-child:after,.ant-btn-dashed.disabled:focus>a:only-child:after,.ant-btn-dashed.disabled:hover>a:only-child:after,.ant-btn-dashed.disabled>a:only-child:after,.ant-btn-dashed[disabled].active>a:only-child:after,.ant-btn-dashed[disabled]:active>a:only-child:after,.ant-btn-dashed[disabled]:focus>a:only-child:after,.ant-btn-dashed[disabled]:hover>a:only-child:after,.ant-btn-dashed[disabled]>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-danger{color:#fff;background-color:#ff4d4f;border-color:#ff4d4f;text-shadow:0 -1px 0 rgba(0,0,0,.12);-webkit-box-shadow:0 2px 0 rgba(0,0,0,.045);box-shadow:0 2px 0 rgba(0,0,0,.045)}.ant-btn-danger>a:only-child{color:currentColor}.ant-btn-danger>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-danger:focus,.ant-btn-danger:hover{color:#fff;background-color:#ff7875;border-color:#ff7875}.ant-btn-danger:focus>a:only-child,.ant-btn-danger:hover>a:only-child{color:currentColor}.ant-btn-danger:focus>a:only-child:after,.ant-btn-danger:hover>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-danger.active,.ant-btn-danger:active{color:#fff;background-color:#d9363e;border-color:#d9363e}.ant-btn-danger.active>a:only-child,.ant-btn-danger:active>a:only-child{color:currentColor}.ant-btn-danger.active>a:only-child:after,.ant-btn-danger:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-danger-disabled,.ant-btn-danger-disabled.active,.ant-btn-danger-disabled:active,.ant-btn-danger-disabled:focus,.ant-btn-danger-disabled:hover,.ant-btn-danger.disabled,.ant-btn-danger.disabled.active,.ant-btn-danger.disabled:active,.ant-btn-danger.disabled:focus,.ant-btn-danger.disabled:hover,.ant-btn-danger[disabled],.ant-btn-danger[disabled].active,.ant-btn-danger[disabled]:active,.ant-btn-danger[disabled]:focus,.ant-btn-danger[disabled]:hover{color:rgba(0,0,0,.25);background-color:#f5f5f5;border-color:#d9d9d9;text-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ant-btn-danger-disabled.active>a:only-child,.ant-btn-danger-disabled:active>a:only-child,.ant-btn-danger-disabled:focus>a:only-child,.ant-btn-danger-disabled:hover>a:only-child,.ant-btn-danger-disabled>a:only-child,.ant-btn-danger.disabled.active>a:only-child,.ant-btn-danger.disabled:active>a:only-child,.ant-btn-danger.disabled:focus>a:only-child,.ant-btn-danger.disabled:hover>a:only-child,.ant-btn-danger.disabled>a:only-child,.ant-btn-danger[disabled].active>a:only-child,.ant-btn-danger[disabled]:active>a:only-child,.ant-btn-danger[disabled]:focus>a:only-child,.ant-btn-danger[disabled]:hover>a:only-child,.ant-btn-danger[disabled]>a:only-child{color:currentColor}.ant-btn-danger-disabled.active>a:only-child:after,.ant-btn-danger-disabled:active>a:only-child:after,.ant-btn-danger-disabled:focus>a:only-child:after,.ant-btn-danger-disabled:hover>a:only-child:after,.ant-btn-danger-disabled>a:only-child:after,.ant-btn-danger.disabled.active>a:only-child:after,.ant-btn-danger.disabled:active>a:only-child:after,.ant-btn-danger.disabled:focus>a:only-child:after,.ant-btn-danger.disabled:hover>a:only-child:after,.ant-btn-danger.disabled>a:only-child:after,.ant-btn-danger[disabled].active>a:only-child:after,.ant-btn-danger[disabled]:active>a:only-child:after,.ant-btn-danger[disabled]:focus>a:only-child:after,.ant-btn-danger[disabled]:hover>a:only-child:after,.ant-btn-danger[disabled]>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-link{color:#ec7259;background-color:transparent;border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.ant-btn-link>a:only-child{color:currentColor}.ant-btn-link>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-link:focus,.ant-btn-link:hover{color:#fa9e87;background-color:transparent;border-color:#fa9e87}.ant-btn-link:focus>a:only-child,.ant-btn-link:hover>a:only-child{color:currentColor}.ant-btn-link:focus>a:only-child:after,.ant-btn-link:hover>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-link.active,.ant-btn-link:active{color:#c75342;background-color:transparent;border-color:#c75342}.ant-btn-link.active>a:only-child,.ant-btn-link:active>a:only-child{color:currentColor}.ant-btn-link.active>a:only-child:after,.ant-btn-link:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-link-disabled,.ant-btn-link-disabled.active,.ant-btn-link-disabled:active,.ant-btn-link-disabled:focus,.ant-btn-link-disabled:hover,.ant-btn-link.disabled,.ant-btn-link.disabled.active,.ant-btn-link.disabled:active,.ant-btn-link.disabled:focus,.ant-btn-link.disabled:hover,.ant-btn-link[disabled],.ant-btn-link[disabled].active,.ant-btn-link[disabled]:active,.ant-btn-link[disabled]:focus,.ant-btn-link[disabled]:hover{background-color:#f5f5f5;border-color:#d9d9d9}.ant-btn-link:active,.ant-btn-link:focus,.ant-btn-link:hover{border-color:transparent}.ant-btn-link-disabled,.ant-btn-link-disabled.active,.ant-btn-link-disabled:active,.ant-btn-link-disabled:focus,.ant-btn-link-disabled:hover,.ant-btn-link.disabled,.ant-btn-link.disabled.active,.ant-btn-link.disabled:active,.ant-btn-link.disabled:focus,.ant-btn-link.disabled:hover,.ant-btn-link[disabled],.ant-btn-link[disabled].active,.ant-btn-link[disabled]:active,.ant-btn-link[disabled]:focus,.ant-btn-link[disabled]:hover{color:rgba(0,0,0,.25);background-color:transparent;border-color:transparent;text-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ant-btn-link-disabled.active>a:only-child,.ant-btn-link-disabled:active>a:only-child,.ant-btn-link-disabled:focus>a:only-child,.ant-btn-link-disabled:hover>a:only-child,.ant-btn-link-disabled>a:only-child,.ant-btn-link.disabled.active>a:only-child,.ant-btn-link.disabled:active>a:only-child,.ant-btn-link.disabled:focus>a:only-child,.ant-btn-link.disabled:hover>a:only-child,.ant-btn-link.disabled>a:only-child,.ant-btn-link[disabled].active>a:only-child,.ant-btn-link[disabled]:active>a:only-child,.ant-btn-link[disabled]:focus>a:only-child,.ant-btn-link[disabled]:hover>a:only-child,.ant-btn-link[disabled]>a:only-child{color:currentColor}.ant-btn-link-disabled.active>a:only-child:after,.ant-btn-link-disabled:active>a:only-child:after,.ant-btn-link-disabled:focus>a:only-child:after,.ant-btn-link-disabled:hover>a:only-child:after,.ant-btn-link-disabled>a:only-child:after,.ant-btn-link.disabled.active>a:only-child:after,.ant-btn-link.disabled:active>a:only-child:after,.ant-btn-link.disabled:focus>a:only-child:after,.ant-btn-link.disabled:hover>a:only-child:after,.ant-btn-link.disabled>a:only-child:after,.ant-btn-link[disabled].active>a:only-child:after,.ant-btn-link[disabled]:active>a:only-child:after,.ant-btn-link[disabled]:focus>a:only-child:after,.ant-btn-link[disabled]:hover>a:only-child:after,.ant-btn-link[disabled]>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-icon-only{width:32px;height:32px;padding:0;font-size:16px;border-radius:4px}.ant-btn-icon-only.ant-btn-lg{width:40px;height:40px;padding:0;font-size:18px;border-radius:4px}.ant-btn-icon-only.ant-btn-sm{width:24px;height:24px;padding:0;font-size:14px;border-radius:4px}.ant-btn-round{height:32px;padding:0 16px;font-size:16px;border-radius:32px}.ant-btn-round.ant-btn-lg{height:40px;padding:0 20px;font-size:18px;border-radius:40px}.ant-btn-round.ant-btn-sm{height:24px;padding:0 12px;font-size:14px;border-radius:24px}.ant-btn-round.ant-btn-icon-only{width:auto}.ant-btn-circle,.ant-btn-circle-outline,.ant-btn-circle-outline.ant-btn-lg,.ant-btn-circle-outline.ant-btn-sm,.ant-btn-circle.ant-btn-lg,.ant-btn-circle.ant-btn-sm{border-radius:50%}.ant-btn:before{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:1;display:none;background:#fff;border-radius:inherit;opacity:.35;-webkit-transition:opacity .2s;transition:opacity .2s;content:"";pointer-events:none}.ant-btn .anticon{-webkit-transition:margin-left .3s cubic-bezier(.645,.045,.355,1);transition:margin-left .3s cubic-bezier(.645,.045,.355,1)}.ant-btn .anticon.anticon-minus>svg,.ant-btn .anticon.anticon-plus>svg{shape-rendering:optimizeSpeed}.ant-btn.ant-btn-loading{position:relative;pointer-events:none}.ant-btn.ant-btn-loading:before{display:block}.ant-btn.ant-btn-loading:not(.ant-btn-circle):not(.ant-btn-circle-outline):not(.ant-btn-icon-only){padding-left:29px}.ant-btn.ant-btn-loading:not(.ant-btn-circle):not(.ant-btn-circle-outline):not(.ant-btn-icon-only) .anticon:not(:last-child){margin-left:-14px}.ant-btn-sm.ant-btn-loading:not(.ant-btn-circle):not(.ant-btn-circle-outline):not(.ant-btn-icon-only){padding-left:24px}.ant-btn-sm.ant-btn-loading:not(.ant-btn-circle):not(.ant-btn-circle-outline):not(.ant-btn-icon-only) .anticon{margin-left:-17px}.ant-btn-group{display:inline-block}.ant-btn-group,.ant-btn-group>.ant-btn,.ant-btn-group>span>.ant-btn{position:relative}.ant-btn-group>.ant-btn.active,.ant-btn-group>.ant-btn:active,.ant-btn-group>.ant-btn:focus,.ant-btn-group>.ant-btn:hover,.ant-btn-group>span>.ant-btn.active,.ant-btn-group>span>.ant-btn:active,.ant-btn-group>span>.ant-btn:focus,.ant-btn-group>span>.ant-btn:hover{z-index:2}.ant-btn-group>.ant-btn:disabled,.ant-btn-group>span>.ant-btn:disabled{z-index:0}.ant-btn-group-lg>.ant-btn,.ant-btn-group-lg>span>.ant-btn{height:40px;padding:0 15px;font-size:16px;border-radius:0;line-height:38px}.ant-btn-group-sm>.ant-btn,.ant-btn-group-sm>span>.ant-btn{height:24px;padding:0 7px;font-size:14px;border-radius:0;line-height:22px}.ant-btn-group-sm>.ant-btn>.anticon,.ant-btn-group-sm>span>.ant-btn>.anticon{font-size:14px}.ant-btn+.ant-btn-group,.ant-btn-group+.ant-btn,.ant-btn-group+.ant-btn-group,.ant-btn-group .ant-btn+.ant-btn,.ant-btn-group .ant-btn+span,.ant-btn-group>span+span,.ant-btn-group span+.ant-btn{margin-left:-1px}.ant-btn-group .ant-btn-primary+.ant-btn:not(.ant-btn-primary):not([disabled]){border-left-color:transparent}.ant-btn-group .ant-btn{border-radius:0}.ant-btn-group>.ant-btn:first-child,.ant-btn-group>span:first-child>.ant-btn{margin-left:0}.ant-btn-group>.ant-btn:only-child,.ant-btn-group>span:only-child>.ant-btn{border-radius:4px}.ant-btn-group>.ant-btn:first-child:not(:last-child),.ant-btn-group>span:first-child:not(:last-child)>.ant-btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.ant-btn-group>.ant-btn:last-child:not(:first-child),.ant-btn-group>span:last-child:not(:first-child)>.ant-btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.ant-btn-group-sm>.ant-btn:only-child,.ant-btn-group-sm>span:only-child>.ant-btn{border-radius:4px}.ant-btn-group-sm>.ant-btn:first-child:not(:last-child),.ant-btn-group-sm>span:first-child:not(:last-child)>.ant-btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.ant-btn-group-sm>.ant-btn:last-child:not(:first-child),.ant-btn-group-sm>span:last-child:not(:first-child)>.ant-btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.ant-btn-group>.ant-btn-group{float:left}.ant-btn-group>.ant-btn-group:not(:first-child):not(:last-child)>.ant-btn{border-radius:0}.ant-btn-group>.ant-btn-group:first-child:not(:last-child)>.ant-btn:last-child{padding-right:8px;border-top-right-radius:0;border-bottom-right-radius:0}.ant-btn-group>.ant-btn-group:last-child:not(:first-child)>.ant-btn:first-child{padding-left:8px;border-top-left-radius:0;border-bottom-left-radius:0}.ant-btn:active>span,.ant-btn:focus>span{position:relative}.ant-btn>.anticon+span,.ant-btn>span+.anticon{margin-left:8px}.ant-btn-background-ghost{color:#fff;background:transparent!important;border-color:#fff}.ant-btn-background-ghost.ant-btn-primary{color:#ec7259;background-color:transparent;border-color:#ec7259;text-shadow:none}.ant-btn-background-ghost.ant-btn-primary>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-primary>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-primary:focus,.ant-btn-background-ghost.ant-btn-primary:hover{color:#fa9e87;background-color:transparent;border-color:#fa9e87}.ant-btn-background-ghost.ant-btn-primary:focus>a:only-child,.ant-btn-background-ghost.ant-btn-primary:hover>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-primary:focus>a:only-child:after,.ant-btn-background-ghost.ant-btn-primary:hover>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-primary.active,.ant-btn-background-ghost.ant-btn-primary:active{color:#c75342;background-color:transparent;border-color:#c75342}.ant-btn-background-ghost.ant-btn-primary.active>a:only-child,.ant-btn-background-ghost.ant-btn-primary:active>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-primary.active>a:only-child:after,.ant-btn-background-ghost.ant-btn-primary:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-primary-disabled,.ant-btn-background-ghost.ant-btn-primary-disabled.active,.ant-btn-background-ghost.ant-btn-primary-disabled:active,.ant-btn-background-ghost.ant-btn-primary-disabled:focus,.ant-btn-background-ghost.ant-btn-primary-disabled:hover,.ant-btn-background-ghost.ant-btn-primary.disabled,.ant-btn-background-ghost.ant-btn-primary.disabled.active,.ant-btn-background-ghost.ant-btn-primary.disabled:active,.ant-btn-background-ghost.ant-btn-primary.disabled:focus,.ant-btn-background-ghost.ant-btn-primary.disabled:hover,.ant-btn-background-ghost.ant-btn-primary[disabled],.ant-btn-background-ghost.ant-btn-primary[disabled].active,.ant-btn-background-ghost.ant-btn-primary[disabled]:active,.ant-btn-background-ghost.ant-btn-primary[disabled]:focus,.ant-btn-background-ghost.ant-btn-primary[disabled]:hover{color:rgba(0,0,0,.25);background-color:#f5f5f5;border-color:#d9d9d9;text-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-primary-disabled.active>a:only-child,.ant-btn-background-ghost.ant-btn-primary-disabled:active>a:only-child,.ant-btn-background-ghost.ant-btn-primary-disabled:focus>a:only-child,.ant-btn-background-ghost.ant-btn-primary-disabled:hover>a:only-child,.ant-btn-background-ghost.ant-btn-primary-disabled>a:only-child,.ant-btn-background-ghost.ant-btn-primary.disabled.active>a:only-child,.ant-btn-background-ghost.ant-btn-primary.disabled:active>a:only-child,.ant-btn-background-ghost.ant-btn-primary.disabled:focus>a:only-child,.ant-btn-background-ghost.ant-btn-primary.disabled:hover>a:only-child,.ant-btn-background-ghost.ant-btn-primary.disabled>a:only-child,.ant-btn-background-ghost.ant-btn-primary[disabled].active>a:only-child,.ant-btn-background-ghost.ant-btn-primary[disabled]:active>a:only-child,.ant-btn-background-ghost.ant-btn-primary[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-primary[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-primary[disabled]>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-primary-disabled.active>a:only-child:after,.ant-btn-background-ghost.ant-btn-primary-disabled:active>a:only-child:after,.ant-btn-background-ghost.ant-btn-primary-disabled:focus>a:only-child:after,.ant-btn-background-ghost.ant-btn-primary-disabled:hover>a:only-child:after,.ant-btn-background-ghost.ant-btn-primary-disabled>a:only-child:after,.ant-btn-background-ghost.ant-btn-primary.disabled.active>a:only-child:after,.ant-btn-background-ghost.ant-btn-primary.disabled:active>a:only-child:after,.ant-btn-background-ghost.ant-btn-primary.disabled:focus>a:only-child:after,.ant-btn-background-ghost.ant-btn-primary.disabled:hover>a:only-child:after,.ant-btn-background-ghost.ant-btn-primary.disabled>a:only-child:after,.ant-btn-background-ghost.ant-btn-primary[disabled].active>a:only-child:after,.ant-btn-background-ghost.ant-btn-primary[disabled]:active>a:only-child:after,.ant-btn-background-ghost.ant-btn-primary[disabled]:focus>a:only-child:after,.ant-btn-background-ghost.ant-btn-primary[disabled]:hover>a:only-child:after,.ant-btn-background-ghost.ant-btn-primary[disabled]>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-danger{color:#ff4d4f;background-color:transparent;border-color:#ff4d4f;text-shadow:none}.ant-btn-background-ghost.ant-btn-danger>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-danger>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-danger:focus,.ant-btn-background-ghost.ant-btn-danger:hover{color:#ff7875;background-color:transparent;border-color:#ff7875}.ant-btn-background-ghost.ant-btn-danger:focus>a:only-child,.ant-btn-background-ghost.ant-btn-danger:hover>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-danger:focus>a:only-child:after,.ant-btn-background-ghost.ant-btn-danger:hover>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-danger.active,.ant-btn-background-ghost.ant-btn-danger:active{color:#d9363e;background-color:transparent;border-color:#d9363e}.ant-btn-background-ghost.ant-btn-danger.active>a:only-child,.ant-btn-background-ghost.ant-btn-danger:active>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-danger.active>a:only-child:after,.ant-btn-background-ghost.ant-btn-danger:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-danger-disabled,.ant-btn-background-ghost.ant-btn-danger-disabled.active,.ant-btn-background-ghost.ant-btn-danger-disabled:active,.ant-btn-background-ghost.ant-btn-danger-disabled:focus,.ant-btn-background-ghost.ant-btn-danger-disabled:hover,.ant-btn-background-ghost.ant-btn-danger.disabled,.ant-btn-background-ghost.ant-btn-danger.disabled.active,.ant-btn-background-ghost.ant-btn-danger.disabled:active,.ant-btn-background-ghost.ant-btn-danger.disabled:focus,.ant-btn-background-ghost.ant-btn-danger.disabled:hover,.ant-btn-background-ghost.ant-btn-danger[disabled],.ant-btn-background-ghost.ant-btn-danger[disabled].active,.ant-btn-background-ghost.ant-btn-danger[disabled]:active,.ant-btn-background-ghost.ant-btn-danger[disabled]:focus,.ant-btn-background-ghost.ant-btn-danger[disabled]:hover{color:rgba(0,0,0,.25);background-color:#f5f5f5;border-color:#d9d9d9;text-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-danger-disabled.active>a:only-child,.ant-btn-background-ghost.ant-btn-danger-disabled:active>a:only-child,.ant-btn-background-ghost.ant-btn-danger-disabled:focus>a:only-child,.ant-btn-background-ghost.ant-btn-danger-disabled:hover>a:only-child,.ant-btn-background-ghost.ant-btn-danger-disabled>a:only-child,.ant-btn-background-ghost.ant-btn-danger.disabled.active>a:only-child,.ant-btn-background-ghost.ant-btn-danger.disabled:active>a:only-child,.ant-btn-background-ghost.ant-btn-danger.disabled:focus>a:only-child,.ant-btn-background-ghost.ant-btn-danger.disabled:hover>a:only-child,.ant-btn-background-ghost.ant-btn-danger.disabled>a:only-child,.ant-btn-background-ghost.ant-btn-danger[disabled].active>a:only-child,.ant-btn-background-ghost.ant-btn-danger[disabled]:active>a:only-child,.ant-btn-background-ghost.ant-btn-danger[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-danger[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-danger[disabled]>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-danger-disabled.active>a:only-child:after,.ant-btn-background-ghost.ant-btn-danger-disabled:active>a:only-child:after,.ant-btn-background-ghost.ant-btn-danger-disabled:focus>a:only-child:after,.ant-btn-background-ghost.ant-btn-danger-disabled:hover>a:only-child:after,.ant-btn-background-ghost.ant-btn-danger-disabled>a:only-child:after,.ant-btn-background-ghost.ant-btn-danger.disabled.active>a:only-child:after,.ant-btn-background-ghost.ant-btn-danger.disabled:active>a:only-child:after,.ant-btn-background-ghost.ant-btn-danger.disabled:focus>a:only-child:after,.ant-btn-background-ghost.ant-btn-danger.disabled:hover>a:only-child:after,.ant-btn-background-ghost.ant-btn-danger.disabled>a:only-child:after,.ant-btn-background-ghost.ant-btn-danger[disabled].active>a:only-child:after,.ant-btn-background-ghost.ant-btn-danger[disabled]:active>a:only-child:after,.ant-btn-background-ghost.ant-btn-danger[disabled]:focus>a:only-child:after,.ant-btn-background-ghost.ant-btn-danger[disabled]:hover>a:only-child:after,.ant-btn-background-ghost.ant-btn-danger[disabled]>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-link{color:#ec7259;background-color:transparent;border-color:transparent;text-shadow:none;color:#fff}.ant-btn-background-ghost.ant-btn-link>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-link>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-link:focus,.ant-btn-background-ghost.ant-btn-link:hover{color:#fa9e87;background-color:transparent;border-color:transparent}.ant-btn-background-ghost.ant-btn-link:focus>a:only-child,.ant-btn-background-ghost.ant-btn-link:hover>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-link:focus>a:only-child:after,.ant-btn-background-ghost.ant-btn-link:hover>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-link.active,.ant-btn-background-ghost.ant-btn-link:active{color:#c75342;background-color:transparent;border-color:transparent}.ant-btn-background-ghost.ant-btn-link.active>a:only-child,.ant-btn-background-ghost.ant-btn-link:active>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-link.active>a:only-child:after,.ant-btn-background-ghost.ant-btn-link:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-link-disabled,.ant-btn-background-ghost.ant-btn-link-disabled.active,.ant-btn-background-ghost.ant-btn-link-disabled:active,.ant-btn-background-ghost.ant-btn-link-disabled:focus,.ant-btn-background-ghost.ant-btn-link-disabled:hover,.ant-btn-background-ghost.ant-btn-link.disabled,.ant-btn-background-ghost.ant-btn-link.disabled.active,.ant-btn-background-ghost.ant-btn-link.disabled:active,.ant-btn-background-ghost.ant-btn-link.disabled:focus,.ant-btn-background-ghost.ant-btn-link.disabled:hover,.ant-btn-background-ghost.ant-btn-link[disabled],.ant-btn-background-ghost.ant-btn-link[disabled].active,.ant-btn-background-ghost.ant-btn-link[disabled]:active,.ant-btn-background-ghost.ant-btn-link[disabled]:focus,.ant-btn-background-ghost.ant-btn-link[disabled]:hover{color:rgba(0,0,0,.25);background-color:#f5f5f5;border-color:#d9d9d9;text-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-link-disabled.active>a:only-child,.ant-btn-background-ghost.ant-btn-link-disabled:active>a:only-child,.ant-btn-background-ghost.ant-btn-link-disabled:focus>a:only-child,.ant-btn-background-ghost.ant-btn-link-disabled:hover>a:only-child,.ant-btn-background-ghost.ant-btn-link-disabled>a:only-child,.ant-btn-background-ghost.ant-btn-link.disabled.active>a:only-child,.ant-btn-background-ghost.ant-btn-link.disabled:active>a:only-child,.ant-btn-background-ghost.ant-btn-link.disabled:focus>a:only-child,.ant-btn-background-ghost.ant-btn-link.disabled:hover>a:only-child,.ant-btn-background-ghost.ant-btn-link.disabled>a:only-child,.ant-btn-background-ghost.ant-btn-link[disabled].active>a:only-child,.ant-btn-background-ghost.ant-btn-link[disabled]:active>a:only-child,.ant-btn-background-ghost.ant-btn-link[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-link[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-link[disabled]>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-link-disabled.active>a:only-child:after,.ant-btn-background-ghost.ant-btn-link-disabled:active>a:only-child:after,.ant-btn-background-ghost.ant-btn-link-disabled:focus>a:only-child:after,.ant-btn-background-ghost.ant-btn-link-disabled:hover>a:only-child:after,.ant-btn-background-ghost.ant-btn-link-disabled>a:only-child:after,.ant-btn-background-ghost.ant-btn-link.disabled.active>a:only-child:after,.ant-btn-background-ghost.ant-btn-link.disabled:active>a:only-child:after,.ant-btn-background-ghost.ant-btn-link.disabled:focus>a:only-child:after,.ant-btn-background-ghost.ant-btn-link.disabled:hover>a:only-child:after,.ant-btn-background-ghost.ant-btn-link.disabled>a:only-child:after,.ant-btn-background-ghost.ant-btn-link[disabled].active>a:only-child:after,.ant-btn-background-ghost.ant-btn-link[disabled]:active>a:only-child:after,.ant-btn-background-ghost.ant-btn-link[disabled]:focus>a:only-child:after,.ant-btn-background-ghost.ant-btn-link[disabled]:hover>a:only-child:after,.ant-btn-background-ghost.ant-btn-link[disabled]>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-two-chinese-chars:first-letter{letter-spacing:.34em}.ant-btn-two-chinese-chars>:not(.anticon){margin-right:-.34em;letter-spacing:.34em}.ant-btn-block{width:100%}.ant-btn:empty{vertical-align:top}a.ant-btn{padding-top:.1px;line-height:30px}a.ant-btn-lg{line-height:38px}a.ant-btn-sm{line-height:22px}.ant-menu{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:14px;font-variant:tabular-nums;line-height:1.5;-webkit-font-feature-settings:"tnum","tnum";font-feature-settings:"tnum","tnum";margin:0;padding:0;color:rgba(0,0,0,.65);line-height:0;list-style:none;background:#fff;outline:none;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.15);box-shadow:0 2px 8px rgba(0,0,0,.15);-webkit-transition:background .3s,width .2s;transition:background .3s,width .2s;zoom:1}.ant-menu:after,.ant-menu:before{display:table;content:""}.ant-menu:after{clear:both}.ant-menu ol,.ant-menu ul{margin:0;padding:0;list-style:none}.ant-menu-hidden{display:none}.ant-menu-item-group-title{padding:8px 16px;color:rgba(0,0,0,.45);font-size:14px;line-height:1.5;-webkit-transition:all .3s;transition:all .3s}.ant-menu-submenu,.ant-menu-submenu-inline{-webkit-transition:border-color .3s cubic-bezier(.645,.045,.355,1),background .3s cubic-bezier(.645,.045,.355,1),padding .15s cubic-bezier(.645,.045,.355,1);transition:border-color .3s cubic-bezier(.645,.045,.355,1),background .3s cubic-bezier(.645,.045,.355,1),padding .15s cubic-bezier(.645,.045,.355,1)}.ant-menu-submenu-selected{color:#ec7259}.ant-menu-item:active,.ant-menu-submenu-title:active{background:#fff5f0}.ant-menu-submenu .ant-menu-sub{cursor:auto;-webkit-transition:background .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1);transition:background .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-item>a{display:block;color:rgba(0,0,0,.65)}.ant-menu-item>a:hover{color:#ec7259}.ant-menu-item>a:before{position:absolute;top:0;right:0;bottom:0;left:0;background-color:transparent;content:""}.ant-menu-item-divider{height:1px;overflow:hidden;line-height:0;background-color:#e8e8e8}.ant-menu-item-active,.ant-menu-item:hover,.ant-menu-submenu-active,.ant-menu-submenu-title:hover,.ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open{color:#ec7259}.ant-menu-horizontal .ant-menu-item,.ant-menu-horizontal .ant-menu-submenu{margin-top:-1px}.ant-menu-horizontal>.ant-menu-item-active,.ant-menu-horizontal>.ant-menu-item:hover,.ant-menu-horizontal>.ant-menu-submenu .ant-menu-submenu-title:hover{background-color:transparent}.ant-menu-item-selected,.ant-menu-item-selected>a,.ant-menu-item-selected>a:hover{color:#ec7259}.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected{background-color:#fff5f0}.ant-menu-inline,.ant-menu-vertical,.ant-menu-vertical-left{border-right:1px solid #e8e8e8}.ant-menu-vertical-right{border-left:1px solid #e8e8e8}.ant-menu-vertical-left.ant-menu-sub,.ant-menu-vertical-right.ant-menu-sub,.ant-menu-vertical.ant-menu-sub{min-width:160px;padding:0;border-right:0;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.ant-menu-vertical-left.ant-menu-sub .ant-menu-item,.ant-menu-vertical-right.ant-menu-sub .ant-menu-item,.ant-menu-vertical.ant-menu-sub .ant-menu-item{left:0;margin-left:0;border-right:0}.ant-menu-vertical-left.ant-menu-sub .ant-menu-item:after,.ant-menu-vertical-right.ant-menu-sub .ant-menu-item:after,.ant-menu-vertical.ant-menu-sub .ant-menu-item:after{border-right:0}.ant-menu-vertical-left.ant-menu-sub>.ant-menu-item,.ant-menu-vertical-left.ant-menu-sub>.ant-menu-submenu,.ant-menu-vertical-right.ant-menu-sub>.ant-menu-item,.ant-menu-vertical-right.ant-menu-sub>.ant-menu-submenu,.ant-menu-vertical.ant-menu-sub>.ant-menu-item,.ant-menu-vertical.ant-menu-sub>.ant-menu-submenu{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.ant-menu-horizontal.ant-menu-sub{min-width:114px}.ant-menu-item,.ant-menu-submenu-title{position:relative;display:block;margin:0;padding:0 20px;white-space:nowrap;cursor:pointer;-webkit-transition:color .3s cubic-bezier(.645,.045,.355,1),border-color .3s cubic-bezier(.645,.045,.355,1),background .3s cubic-bezier(.645,.045,.355,1),padding .15s cubic-bezier(.645,.045,.355,1);transition:color .3s cubic-bezier(.645,.045,.355,1),border-color .3s cubic-bezier(.645,.045,.355,1),background .3s cubic-bezier(.645,.045,.355,1),padding .15s cubic-bezier(.645,.045,.355,1)}.ant-menu-item .anticon,.ant-menu-submenu-title .anticon{min-width:14px;margin-right:10px;font-size:14px;-webkit-transition:font-size .15s cubic-bezier(.215,.61,.355,1),margin .3s cubic-bezier(.645,.045,.355,1);transition:font-size .15s cubic-bezier(.215,.61,.355,1),margin .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-item .anticon+span,.ant-menu-submenu-title .anticon+span{opacity:1;-webkit-transition:opacity .3s cubic-bezier(.645,.045,.355,1),width .3s cubic-bezier(.645,.045,.355,1);transition:opacity .3s cubic-bezier(.645,.045,.355,1),width .3s cubic-bezier(.645,.045,.355,1)}.ant-menu>.ant-menu-item-divider{height:1px;margin:1px 0;padding:0;overflow:hidden;line-height:0;background-color:#e8e8e8}.ant-menu-submenu-popup{position:absolute;z-index:1050;background:#fff;border-radius:4px}.ant-menu-submenu-popup .submenu-title-wrapper{padding-right:20px}.ant-menu-submenu-popup:before{position:absolute;top:-7px;right:0;bottom:0;left:0;opacity:.0001;content:" "}.ant-menu-submenu>.ant-menu{background-color:#fff;border-radius:4px}.ant-menu-submenu>.ant-menu-submenu-title:after{-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-submenu-inline>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-submenu-vertical-left>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-submenu-vertical-right>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-submenu-vertical>.ant-menu-submenu-title .ant-menu-submenu-arrow{position:absolute;top:50%;right:16px;width:10px;-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-submenu-inline>.ant-menu-submenu-title .ant-menu-submenu-arrow:after,.ant-menu-submenu-inline>.ant-menu-submenu-title .ant-menu-submenu-arrow:before,.ant-menu-submenu-vertical-left>.ant-menu-submenu-title .ant-menu-submenu-arrow:after,.ant-menu-submenu-vertical-left>.ant-menu-submenu-title .ant-menu-submenu-arrow:before,.ant-menu-submenu-vertical-right>.ant-menu-submenu-title .ant-menu-submenu-arrow:after,.ant-menu-submenu-vertical-right>.ant-menu-submenu-title .ant-menu-submenu-arrow:before,.ant-menu-submenu-vertical>.ant-menu-submenu-title .ant-menu-submenu-arrow:after,.ant-menu-submenu-vertical>.ant-menu-submenu-title .ant-menu-submenu-arrow:before{position:absolute;width:6px;height:1.5px;background:#fff;background:rgba(0,0,0,.65)\9;background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.65)),to(rgba(0,0,0,.65)));background-image:linear-gradient(to right,rgba(0,0,0,.65),rgba(0,0,0,.65));background-image:none\9;border-radius:2px;-webkit-transition:background .3s cubic-bezier(.645,.045,.355,1),top .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:background .3s cubic-bezier(.645,.045,.355,1),top .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:background .3s cubic-bezier(.645,.045,.355,1),transform .3s cubic-bezier(.645,.045,.355,1),top .3s cubic-bezier(.645,.045,.355,1);transition:background .3s cubic-bezier(.645,.045,.355,1),transform .3s cubic-bezier(.645,.045,.355,1),top .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);content:""}.ant-menu-submenu-inline>.ant-menu-submenu-title .ant-menu-submenu-arrow:before,.ant-menu-submenu-vertical-left>.ant-menu-submenu-title .ant-menu-submenu-arrow:before,.ant-menu-submenu-vertical-right>.ant-menu-submenu-title .ant-menu-submenu-arrow:before,.ant-menu-submenu-vertical>.ant-menu-submenu-title .ant-menu-submenu-arrow:before{-webkit-transform:rotate(45deg) translateY(-2px);-ms-transform:rotate(45deg) translateY(-2px);transform:rotate(45deg) translateY(-2px)}.ant-menu-submenu-inline>.ant-menu-submenu-title .ant-menu-submenu-arrow:after,.ant-menu-submenu-vertical-left>.ant-menu-submenu-title .ant-menu-submenu-arrow:after,.ant-menu-submenu-vertical-right>.ant-menu-submenu-title .ant-menu-submenu-arrow:after,.ant-menu-submenu-vertical>.ant-menu-submenu-title .ant-menu-submenu-arrow:after{-webkit-transform:rotate(-45deg) translateY(2px);-ms-transform:rotate(-45deg) translateY(2px);transform:rotate(-45deg) translateY(2px)}.ant-menu-submenu-inline>.ant-menu-submenu-title:hover .ant-menu-submenu-arrow:after,.ant-menu-submenu-inline>.ant-menu-submenu-title:hover .ant-menu-submenu-arrow:before,.ant-menu-submenu-vertical-left>.ant-menu-submenu-title:hover .ant-menu-submenu-arrow:after,.ant-menu-submenu-vertical-left>.ant-menu-submenu-title:hover .ant-menu-submenu-arrow:before,.ant-menu-submenu-vertical-right>.ant-menu-submenu-title:hover .ant-menu-submenu-arrow:after,.ant-menu-submenu-vertical-right>.ant-menu-submenu-title:hover .ant-menu-submenu-arrow:before,.ant-menu-submenu-vertical>.ant-menu-submenu-title:hover .ant-menu-submenu-arrow:after,.ant-menu-submenu-vertical>.ant-menu-submenu-title:hover .ant-menu-submenu-arrow:before{background:-webkit-gradient(linear,left top,right top,from(#ec7259),to(#ec7259));background:linear-gradient(to right,#ec7259,#ec7259)}.ant-menu-submenu-inline>.ant-menu-submenu-title .ant-menu-submenu-arrow:before{-webkit-transform:rotate(-45deg) translateX(2px);-ms-transform:rotate(-45deg) translateX(2px);transform:rotate(-45deg) translateX(2px)}.ant-menu-submenu-inline>.ant-menu-submenu-title .ant-menu-submenu-arrow:after{-webkit-transform:rotate(45deg) translateX(-2px);-ms-transform:rotate(45deg) translateX(-2px);transform:rotate(45deg) translateX(-2px)}.ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title .ant-menu-submenu-arrow{-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px)}.ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title .ant-menu-submenu-arrow:after{-webkit-transform:rotate(-45deg) translateX(-2px);-ms-transform:rotate(-45deg) translateX(-2px);transform:rotate(-45deg) translateX(-2px)}.ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title .ant-menu-submenu-arrow:before{-webkit-transform:rotate(45deg) translateX(2px);-ms-transform:rotate(45deg) translateX(2px);transform:rotate(45deg) translateX(2px)}.ant-menu-vertical-left .ant-menu-submenu-selected,.ant-menu-vertical-left .ant-menu-submenu-selected>a,.ant-menu-vertical-right .ant-menu-submenu-selected,.ant-menu-vertical-right .ant-menu-submenu-selected>a,.ant-menu-vertical .ant-menu-submenu-selected,.ant-menu-vertical .ant-menu-submenu-selected>a{color:#ec7259}.ant-menu-horizontal{line-height:46px;white-space:nowrap;border:0;border-bottom:1px solid #e8e8e8;-webkit-box-shadow:none;box-shadow:none}.ant-menu-horizontal>.ant-menu-item,.ant-menu-horizontal>.ant-menu-submenu{position:relative;top:1px;display:inline-block;vertical-align:bottom;border-bottom:2px solid transparent}.ant-menu-horizontal>.ant-menu-item-active,.ant-menu-horizontal>.ant-menu-item-open,.ant-menu-horizontal>.ant-menu-item-selected,.ant-menu-horizontal>.ant-menu-item:hover,.ant-menu-horizontal>.ant-menu-submenu-active,.ant-menu-horizontal>.ant-menu-submenu-open,.ant-menu-horizontal>.ant-menu-submenu-selected,.ant-menu-horizontal>.ant-menu-submenu:hover{color:#ec7259;border-bottom:2px solid #ec7259}.ant-menu-horizontal>.ant-menu-item>a{display:block;color:rgba(0,0,0,.65)}.ant-menu-horizontal>.ant-menu-item>a:hover{color:#ec7259}.ant-menu-horizontal>.ant-menu-item>a:before{bottom:-2px}.ant-menu-horizontal>.ant-menu-item-selected>a{color:#ec7259}.ant-menu-horizontal:after{display:block;clear:both;height:0;content:" "}.ant-menu-inline .ant-menu-item,.ant-menu-vertical-left .ant-menu-item,.ant-menu-vertical-right .ant-menu-item,.ant-menu-vertical .ant-menu-item{position:relative}.ant-menu-inline .ant-menu-item:after,.ant-menu-vertical-left .ant-menu-item:after,.ant-menu-vertical-right .ant-menu-item:after,.ant-menu-vertical .ant-menu-item:after{position:absolute;top:0;right:0;bottom:0;border-right:3px solid #ec7259;-webkit-transform:scaleY(.0001);-ms-transform:scaleY(.0001);transform:scaleY(.0001);opacity:0;-webkit-transition:opacity .15s cubic-bezier(.215,.61,.355,1),-webkit-transform .15s cubic-bezier(.215,.61,.355,1);transition:opacity .15s cubic-bezier(.215,.61,.355,1),-webkit-transform .15s cubic-bezier(.215,.61,.355,1);transition:transform .15s cubic-bezier(.215,.61,.355,1),opacity .15s cubic-bezier(.215,.61,.355,1);transition:transform .15s cubic-bezier(.215,.61,.355,1),opacity .15s cubic-bezier(.215,.61,.355,1),-webkit-transform .15s cubic-bezier(.215,.61,.355,1);content:""}.ant-menu-inline .ant-menu-item,.ant-menu-inline .ant-menu-submenu-title,.ant-menu-vertical-left .ant-menu-item,.ant-menu-vertical-left .ant-menu-submenu-title,.ant-menu-vertical-right .ant-menu-item,.ant-menu-vertical-right .ant-menu-submenu-title,.ant-menu-vertical .ant-menu-item,.ant-menu-vertical .ant-menu-submenu-title{height:40px;margin-top:4px;margin-bottom:4px;padding:0 16px;overflow:hidden;font-size:14px;line-height:40px;text-overflow:ellipsis}.ant-menu-inline .ant-menu-submenu,.ant-menu-vertical-left .ant-menu-submenu,.ant-menu-vertical-right .ant-menu-submenu,.ant-menu-vertical .ant-menu-submenu{padding-bottom:.01px}.ant-menu-inline .ant-menu-item:not(:last-child),.ant-menu-vertical-left .ant-menu-item:not(:last-child),.ant-menu-vertical-right .ant-menu-item:not(:last-child),.ant-menu-vertical .ant-menu-item:not(:last-child){margin-bottom:8px}.ant-menu-inline>.ant-menu-item,.ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-vertical-left>.ant-menu-item,.ant-menu-vertical-left>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-vertical-right>.ant-menu-item,.ant-menu-vertical-right>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-vertical>.ant-menu-item,.ant-menu-vertical>.ant-menu-submenu>.ant-menu-submenu-title{height:40px;line-height:40px}.ant-menu-inline{width:100%}.ant-menu-inline .ant-menu-item-selected:after,.ant-menu-inline .ant-menu-selected:after{-webkit-transform:scaleY(1);-ms-transform:scaleY(1);transform:scaleY(1);opacity:1;-webkit-transition:opacity .15s cubic-bezier(.645,.045,.355,1),-webkit-transform .15s cubic-bezier(.645,.045,.355,1);transition:opacity .15s cubic-bezier(.645,.045,.355,1),-webkit-transform .15s cubic-bezier(.645,.045,.355,1);transition:transform .15s cubic-bezier(.645,.045,.355,1),opacity .15s cubic-bezier(.645,.045,.355,1);transition:transform .15s cubic-bezier(.645,.045,.355,1),opacity .15s cubic-bezier(.645,.045,.355,1),-webkit-transform .15s cubic-bezier(.645,.045,.355,1)}.ant-menu-inline .ant-menu-item,.ant-menu-inline .ant-menu-submenu-title{width:calc(100% + 1px)}.ant-menu-inline .ant-menu-submenu-title{padding-right:34px}.ant-menu-inline-collapsed{width:80px}.ant-menu-inline-collapsed>.ant-menu-item,.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item,.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title{left:0;padding:0 32px!important;text-overflow:clip}.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .ant-menu-submenu-arrow,.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-inline-collapsed>.ant-menu-item .ant-menu-submenu-arrow,.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow{display:none}.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .anticon,.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .anticon,.ant-menu-inline-collapsed>.ant-menu-item .anticon,.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .anticon{margin:0;font-size:16px;line-height:40px}.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .anticon+span,.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .anticon+span,.ant-menu-inline-collapsed>.ant-menu-item .anticon+span,.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .anticon+span{display:inline-block;max-width:0;opacity:0}.ant-menu-inline-collapsed-tooltip{pointer-events:none}.ant-menu-inline-collapsed-tooltip .anticon{display:none}.ant-menu-inline-collapsed-tooltip a{color:hsla(0,0%,100%,.85)}.ant-menu-inline-collapsed .ant-menu-item-group-title{padding-right:4px;padding-left:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-menu-item-group-list{margin:0;padding:0}.ant-menu-item-group-list .ant-menu-item,.ant-menu-item-group-list .ant-menu-submenu-title{padding:0 16px 0 28px}.ant-menu-root.ant-menu-inline,.ant-menu-root.ant-menu-vertical,.ant-menu-root.ant-menu-vertical-left,.ant-menu-root.ant-menu-vertical-right,.ant-menu-sub.ant-menu-inline{-webkit-box-shadow:none;box-shadow:none}.ant-menu-sub.ant-menu-inline{padding:0;border:0;border-radius:0}.ant-menu-sub.ant-menu-inline>.ant-menu-item,.ant-menu-sub.ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title{height:40px;line-height:40px;list-style-position:inside;list-style-type:disc}.ant-menu-sub.ant-menu-inline .ant-menu-item-group-title{padding-left:32px}.ant-menu-item-disabled,.ant-menu-submenu-disabled{color:rgba(0,0,0,.25)!important;background:none;border-color:transparent!important;cursor:not-allowed}.ant-menu-item-disabled>a,.ant-menu-submenu-disabled>a{color:rgba(0,0,0,.25)!important;pointer-events:none}.ant-menu-item-disabled>.ant-menu-submenu-title,.ant-menu-submenu-disabled>.ant-menu-submenu-title{color:rgba(0,0,0,.25)!important;cursor:not-allowed}.ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after,.ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before,.ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after,.ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before{background:rgba(0,0,0,.25)!important}.ant-menu-dark,.ant-menu-dark .ant-menu-sub{color:hsla(0,0%,100%,.65);background:#001529}.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow{opacity:.45;-webkit-transition:all .3s;transition:all .3s}.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow:before{background:#fff}.ant-menu-dark.ant-menu-submenu-popup{background:transparent}.ant-menu-dark .ant-menu-inline.ant-menu-sub{background:#000c17;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.45) inset;box-shadow:inset 0 2px 8px rgba(0,0,0,.45)}.ant-menu-dark.ant-menu-horizontal{border-bottom:0}.ant-menu-dark.ant-menu-horizontal>.ant-menu-item,.ant-menu-dark.ant-menu-horizontal>.ant-menu-submenu{top:0;margin-top:0;border-color:#001529;border-bottom:0}.ant-menu-dark.ant-menu-horizontal>.ant-menu-item>a:before{bottom:0}.ant-menu-dark .ant-menu-item,.ant-menu-dark .ant-menu-item-group-title,.ant-menu-dark .ant-menu-item>a{color:hsla(0,0%,100%,.65)}.ant-menu-dark.ant-menu-inline,.ant-menu-dark.ant-menu-vertical,.ant-menu-dark.ant-menu-vertical-left,.ant-menu-dark.ant-menu-vertical-right{border-right:0}.ant-menu-dark.ant-menu-inline .ant-menu-item,.ant-menu-dark.ant-menu-vertical-left .ant-menu-item,.ant-menu-dark.ant-menu-vertical-right .ant-menu-item,.ant-menu-dark.ant-menu-vertical .ant-menu-item{left:0;margin-left:0;border-right:0}.ant-menu-dark.ant-menu-inline .ant-menu-item:after,.ant-menu-dark.ant-menu-vertical-left .ant-menu-item:after,.ant-menu-dark.ant-menu-vertical-right .ant-menu-item:after,.ant-menu-dark.ant-menu-vertical .ant-menu-item:after{border-right:0}.ant-menu-dark.ant-menu-inline .ant-menu-item,.ant-menu-dark.ant-menu-inline .ant-menu-submenu-title{width:100%}.ant-menu-dark .ant-menu-item-active,.ant-menu-dark .ant-menu-item:hover,.ant-menu-dark .ant-menu-submenu-active,.ant-menu-dark .ant-menu-submenu-open,.ant-menu-dark .ant-menu-submenu-selected,.ant-menu-dark .ant-menu-submenu-title:hover{color:#fff;background-color:transparent}.ant-menu-dark .ant-menu-item-active>a,.ant-menu-dark .ant-menu-item:hover>a,.ant-menu-dark .ant-menu-submenu-active>a,.ant-menu-dark .ant-menu-submenu-open>a,.ant-menu-dark .ant-menu-submenu-selected>a,.ant-menu-dark .ant-menu-submenu-title:hover>a{color:#fff}.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title:hover>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title:hover>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title:hover>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title:hover>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title:hover>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title:hover>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow{opacity:1}.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title:hover>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title:hover>.ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title:hover>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title:hover>.ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title:hover>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title:hover>.ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title:hover>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title:hover>.ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title:hover>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title:hover>.ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title:hover>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title:hover>.ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before{background:#fff}.ant-menu-dark .ant-menu-item:hover{background-color:transparent}.ant-menu-dark .ant-menu-item-selected{color:#fff;border-right:0}.ant-menu-dark .ant-menu-item-selected:after{border-right:0}.ant-menu-dark .ant-menu-item-selected .anticon,.ant-menu-dark .ant-menu-item-selected>a,.ant-menu-dark .ant-menu-item-selected>a:hover,.ant-menu-dark .ant-menu-item-selected span{color:#fff}.ant-menu-submenu-popup.ant-menu-dark .ant-menu-item-selected,.ant-menu.ant-menu-dark .ant-menu-item-selected{background-color:#ec7259}.ant-menu-dark .ant-menu-item-disabled,.ant-menu-dark .ant-menu-item-disabled>a,.ant-menu-dark .ant-menu-submenu-disabled,.ant-menu-dark .ant-menu-submenu-disabled>a{color:hsla(0,0%,100%,.35)!important;opacity:.8}.ant-menu-dark .ant-menu-item-disabled>.ant-menu-submenu-title,.ant-menu-dark .ant-menu-submenu-disabled>.ant-menu-submenu-title{color:hsla(0,0%,100%,.35)!important}.ant-menu-dark .ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before{background:hsla(0,0%,100%,.35)!important}.ant-tooltip{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;-webkit-font-feature-settings:"tnum","tnum";font-feature-settings:"tnum","tnum";position:absolute;z-index:1060;display:block;max-width:250px;visibility:visible}.ant-tooltip-hidden{display:none}.ant-tooltip-placement-top,.ant-tooltip-placement-topLeft,.ant-tooltip-placement-topRight{padding-bottom:8px}.ant-tooltip-placement-right,.ant-tooltip-placement-rightBottom,.ant-tooltip-placement-rightTop{padding-left:8px}.ant-tooltip-placement-bottom,.ant-tooltip-placement-bottomLeft,.ant-tooltip-placement-bottomRight{padding-top:8px}.ant-tooltip-placement-left,.ant-tooltip-placement-leftBottom,.ant-tooltip-placement-leftTop{padding-right:8px}.ant-tooltip-inner{min-width:30px;min-height:32px;padding:6px 8px;color:#fff;text-align:left;text-decoration:none;word-wrap:break-word;background-color:rgba(0,0,0,.75);border-radius:4px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.15);box-shadow:0 2px 8px rgba(0,0,0,.15)}.ant-tooltip-arrow{position:absolute;display:block;width:13.07106781px;height:13.07106781px;overflow:hidden;background:transparent;pointer-events:none}.ant-tooltip-arrow:before{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:5px;height:5px;margin:auto;background-color:rgba(0,0,0,.75);content:"";pointer-events:auto}.ant-tooltip-placement-top .ant-tooltip-arrow,.ant-tooltip-placement-topLeft .ant-tooltip-arrow,.ant-tooltip-placement-topRight .ant-tooltip-arrow{bottom:-5.07106781px}.ant-tooltip-placement-top .ant-tooltip-arrow:before,.ant-tooltip-placement-topLeft .ant-tooltip-arrow:before,.ant-tooltip-placement-topRight .ant-tooltip-arrow:before{-webkit-box-shadow:3px 3px 7px rgba(0,0,0,.07);box-shadow:3px 3px 7px rgba(0,0,0,.07);-webkit-transform:translateY(-6.53553391px) rotate(45deg);-ms-transform:translateY(-6.53553391px) rotate(45deg);transform:translateY(-6.53553391px) rotate(45deg)}.ant-tooltip-placement-top .ant-tooltip-arrow{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ant-tooltip-placement-topLeft .ant-tooltip-arrow{left:13px}.ant-tooltip-placement-topRight .ant-tooltip-arrow{right:13px}.ant-tooltip-placement-right .ant-tooltip-arrow,.ant-tooltip-placement-rightBottom .ant-tooltip-arrow,.ant-tooltip-placement-rightTop .ant-tooltip-arrow{left:-5.07106781px}.ant-tooltip-placement-right .ant-tooltip-arrow:before,.ant-tooltip-placement-rightBottom .ant-tooltip-arrow:before,.ant-tooltip-placement-rightTop .ant-tooltip-arrow:before{-webkit-box-shadow:-3px 3px 7px rgba(0,0,0,.07);box-shadow:-3px 3px 7px rgba(0,0,0,.07);-webkit-transform:translateX(6.53553391px) rotate(45deg);-ms-transform:translateX(6.53553391px) rotate(45deg);transform:translateX(6.53553391px) rotate(45deg)}.ant-tooltip-placement-right .ant-tooltip-arrow{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ant-tooltip-placement-rightTop .ant-tooltip-arrow{top:5px}.ant-tooltip-placement-rightBottom .ant-tooltip-arrow{bottom:5px}.ant-tooltip-placement-left .ant-tooltip-arrow,.ant-tooltip-placement-leftBottom .ant-tooltip-arrow,.ant-tooltip-placement-leftTop .ant-tooltip-arrow{right:-5.07106781px}.ant-tooltip-placement-left .ant-tooltip-arrow:before,.ant-tooltip-placement-leftBottom .ant-tooltip-arrow:before,.ant-tooltip-placement-leftTop .ant-tooltip-arrow:before{-webkit-box-shadow:3px -3px 7px rgba(0,0,0,.07);box-shadow:3px -3px 7px rgba(0,0,0,.07);-webkit-transform:translateX(-6.53553391px) rotate(45deg);-ms-transform:translateX(-6.53553391px) rotate(45deg);transform:translateX(-6.53553391px) rotate(45deg)}.ant-tooltip-placement-left .ant-tooltip-arrow{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ant-tooltip-placement-leftTop .ant-tooltip-arrow{top:5px}.ant-tooltip-placement-leftBottom .ant-tooltip-arrow{bottom:5px}.ant-tooltip-placement-bottom .ant-tooltip-arrow,.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow,.ant-tooltip-placement-bottomRight .ant-tooltip-arrow{top:-5.07106781px}.ant-tooltip-placement-bottom .ant-tooltip-arrow:before,.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow:before,.ant-tooltip-placement-bottomRight .ant-tooltip-arrow:before{-webkit-box-shadow:-3px -3px 7px rgba(0,0,0,.07);box-shadow:-3px -3px 7px rgba(0,0,0,.07);-webkit-transform:translateY(6.53553391px) rotate(45deg);-ms-transform:translateY(6.53553391px) rotate(45deg);transform:translateY(6.53553391px) rotate(45deg)}.ant-tooltip-placement-bottom .ant-tooltip-arrow{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow{left:13px}.ant-tooltip-placement-bottomRight .ant-tooltip-arrow{right:13px}._1OhGeD,._1OhGeD:active,._1OhGeD:hover{color:inherit}body.reader-night-mode ._359BF5{background-color:#3d3d3d}._36elk0{padding:16px}._36elk0:hover{background-color:#f2f2f2}body.reader-night-mode ._36elk0:hover{background-color:#303030}._36elk0>._4yOlTc{margin:-16px;padding:16px;display:flex;align-items:center;color:#333;cursor:pointer}body.reader-night-mode ._36elk0>._4yOlTc{color:#d2d2d2}._36elk0 ._32Ne73{font-size:18px;color:#ec7259;margin-right:12px}.ant-radio-group{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;-webkit-font-feature-settings:"tnum","tnum";font-feature-settings:"tnum","tnum";display:inline-block;line-height:unset}.ant-radio-wrapper{margin:0 8px 0 0}.ant-radio,.ant-radio-wrapper{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;-webkit-font-feature-settings:"tnum","tnum";font-feature-settings:"tnum","tnum";position:relative;display:inline-block;white-space:nowrap;cursor:pointer}.ant-radio{margin:0;line-height:1;vertical-align:sub;outline:none}.ant-radio-input:focus+.ant-radio-inner,.ant-radio-wrapper:hover .ant-radio,.ant-radio:hover .ant-radio-inner{border-color:#ec7259}.ant-radio-input:focus+.ant-radio-inner{-webkit-box-shadow:0 0 0 3px rgba(236,114,89,.08);box-shadow:0 0 0 3px rgba(236,114,89,.08)}.ant-radio-checked:after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #ec7259;border-radius:50%;visibility:hidden;-webkit-animation:antRadioEffect .36s ease-in-out;animation:antRadioEffect .36s ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both;content:""}.ant-radio-wrapper:hover .ant-radio:after,.ant-radio:hover:after{visibility:visible}.ant-radio-inner{position:relative;top:0;left:0;display:block;width:16px;height:16px;background-color:#fff;border:1px solid #d9d9d9;border-radius:100px;-webkit-transition:all .3s;transition:all .3s}.ant-radio-inner:after{position:absolute;top:3px;left:3px;display:table;width:8px;height:8px;background-color:#ec7259;border-top:0;border-left:0;border-radius:8px;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-transition:all .3s cubic-bezier(.78,.14,.15,.86);transition:all .3s cubic-bezier(.78,.14,.15,.86);content:" "}.ant-radio-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;cursor:pointer;opacity:0}.ant-radio-checked .ant-radio-inner{border-color:#ec7259}.ant-radio-checked .ant-radio-inner:after{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1;-webkit-transition:all .3s cubic-bezier(.78,.14,.15,.86);transition:all .3s cubic-bezier(.78,.14,.15,.86)}.ant-radio-disabled .ant-radio-inner{background-color:#f5f5f5;border-color:#d9d9d9!important;cursor:not-allowed}.ant-radio-disabled .ant-radio-inner:after{background-color:rgba(0,0,0,.2)}.ant-radio-disabled .ant-radio-input{cursor:not-allowed}.ant-radio-disabled+span{color:rgba(0,0,0,.25);cursor:not-allowed}span.ant-radio+*{padding-right:8px;padding-left:8px}.ant-radio-button-wrapper{position:relative;display:inline-block;height:32px;margin:0;padding:0 15px;color:rgba(0,0,0,.65);line-height:30px;background:#fff;border:1px solid #d9d9d9;border-top:1.02px solid #d9d9d9;border-left:0;cursor:pointer;-webkit-transition:color .3s,background .3s,border-color .3s;transition:color .3s,background .3s,border-color .3s}.ant-radio-button-wrapper a{color:rgba(0,0,0,.65)}.ant-radio-button-wrapper>.ant-radio-button{display:block;width:0;height:0;margin-left:0}.ant-radio-group-large .ant-radio-button-wrapper{height:40px;font-size:16px;line-height:38px}.ant-radio-group-small .ant-radio-button-wrapper{height:24px;padding:0 7px;line-height:22px}.ant-radio-button-wrapper:not(:first-child):before{position:absolute;top:0;left:-1px;display:block;width:1px;height:100%;background-color:#d9d9d9;content:""}.ant-radio-button-wrapper:first-child{border-left:1px solid #d9d9d9;border-radius:4px 0 0 4px}.ant-radio-button-wrapper:last-child{border-radius:0 4px 4px 0}.ant-radio-button-wrapper:first-child:last-child{border-radius:4px}.ant-radio-button-wrapper:hover{position:relative;color:#ec7259}.ant-radio-button-wrapper[focus-within]{outline:3px solid rgba(236,114,89,.06)}.ant-radio-button-wrapper:focus-within{outline:3px solid rgba(236,114,89,.06)}.ant-radio-button-wrapper .ant-radio-inner,.ant-radio-button-wrapper input[type=checkbox],.ant-radio-button-wrapper input[type=radio]{width:0;height:0;opacity:0;pointer-events:none}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){z-index:1;color:#ec7259;background:#fff;border-color:#ec7259;-webkit-box-shadow:-1px 0 0 0 #ec7259;box-shadow:-1px 0 0 0 #ec7259}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):before{background-color:#ec7259!important;opacity:.1}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):first-child{border-color:#ec7259;-webkit-box-shadow:none!important;box-shadow:none!important}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover{color:#fa9e87;border-color:#fa9e87;-webkit-box-shadow:-1px 0 0 0 #fa9e87;box-shadow:-1px 0 0 0 #fa9e87}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active{color:#c75342;border-color:#c75342;-webkit-box-shadow:-1px 0 0 0 #c75342;box-shadow:-1px 0 0 0 #c75342}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)[focus-within]{outline:3px solid rgba(236,114,89,.06)}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within{outline:3px solid rgba(236,114,89,.06)}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){color:#fff;background:#ec7259;border-color:#ec7259}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover{color:#fff;background:#fa9e87;border-color:#fa9e87}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active{color:#fff;background:#c75342;border-color:#c75342}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)[focus-within]{outline:3px solid rgba(236,114,89,.06)}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within{outline:3px solid rgba(236,114,89,.06)}.ant-radio-button-wrapper-disabled{cursor:not-allowed}.ant-radio-button-wrapper-disabled,.ant-radio-button-wrapper-disabled:first-child,.ant-radio-button-wrapper-disabled:hover{color:rgba(0,0,0,.25);background-color:#f5f5f5;border-color:#d9d9d9}.ant-radio-button-wrapper-disabled:first-child{border-left-color:#d9d9d9}.ant-radio-button-wrapper-disabled.ant-radio-button-wrapper-checked{color:#fff;background-color:#e6e6e6;border-color:#d9d9d9;-webkit-box-shadow:none;box-shadow:none}@-webkit-keyframes antRadioEffect{0%{-webkit-transform:scale(1);transform:scale(1);opacity:.5}to{-webkit-transform:scale(1.6);transform:scale(1.6);opacity:0}}@keyframes antRadioEffect{0%{-webkit-transform:scale(1);transform:scale(1);opacity:.5}to{-webkit-transform:scale(1.6);transform:scale(1.6);opacity:0}}@supports (-moz-appearance:meterbar) and (background-blend-mode:difference,normal){.ant-radio{vertical-align:text-bottom}}._3tVfGA{color:#999}._3tVfGA hr{margin:16px 0;border:none;border-top:1px solid #eee}body.reader-night-mode ._3tVfGA hr{border-color:#2f2f2f}._2gPvx3{display:flex;justify-content:space-between;align-items:center}.UEgFgF{margin-left:4px}._3DJm-C{display:flex}._3-Nf0r{flex-grow:1;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.reader-night-mode ._3-Nf0r{color:#999;background-color:#3d3d3d;border-color:#2f2f2f}.Ibs2CE{margin-left:12px}._1FlndI{margin-top:8px}._3r7NRU,._3r7NRU button,._3r7NRU input,._3r7NRU select,._3r7NRU textarea{font-family:Georgia,Times New Roman,Times,Songti SC,serif}.G1b3UE{background-color:#f2f2f2}.G1b3UE:-ms-input-placeholder{color:#999}.G1b3UE::-ms-input-placeholder{color:#999}.G1b3UE::placeholder{color:#999}body.reader-night-mode .G1b3UE{background-color:#333}._31TNvD{display:inline-flex;position:relative;margin:0;padding:0;flex-grow:1}.G1b3UE{width:100%;height:36px;padding:8px 36px 8px 16px;border-radius:18px;border:none}.x6-7Eb{position:absolute;font-size:16px;top:50%;right:16px;line-height:0;z-index:2;color:#969696;transform:translateY(-50%);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.MoRCpo{display:flex;align-items:center;height:56px;margin-left:16px;height:48px}._2q13cl{width:160px;transition:width .3s ease}._2sRxyP{width:240px}body.reader-night-mode ._2f-aZH{color:#b3b3b3}._1boePR{width:208px}._1mmWqu{display:flex;justify-content:space-between;align-items:center;color:#969696;font-size:14px;margin-bottom:12px}._3Wif7d{font-size:13px;cursor:pointer}._3Wif7d>i{margin-right:4px}.o6Rhl0{display:inline-block;max-width:208px;font-size:12px;margin-right:8px;margin-bottom:6px;padding:0 6px;border:1px solid #eee;border-radius:4px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.reader-night-mode .o6Rhl0{border-color:#494949}.-ykwN3{margin:0 -16px}.PY53UF{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;cursor:pointer}.PY53UF:hover{background-color:#f2f2f2}body.reader-night-mode .PY53UF:hover{background-color:#404040}.PY53UF:hover>i{visibility:visible;opacity:1}.PY53UF>span{margin-right:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.PY53UF>i{font-size:12px;visibility:hidden;opacity:0}._1AawTM,._1nZg8v,._2RZATq,._3JYrtj,._7hb9O4,._7hb9O4 ._3Sn1bM,.hM7XFL{display:flex;align-items:center;height:56px}._1YyUun{box-sizing:content-box;padding-left:16px;padding-right:16px;margin-left:auto;margin-right:auto;width:1000px}@media screen and (min-width:1921px){._1YyUun{width:1200px}}.VYwngI{position:relative;display:block;height:56px}._1CSgtu{position:fixed;top:0;left:0;right:0;overflow:hidden;background-color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.05);z-index:100}body.reader-night-mode ._1CSgtu{background-color:#3d3d3d}._2oDcyf{height:56px;min-width:1200px;max-width:1440px;margin:0 auto;transition:transform .3s cubic-bezier(.645,.045,.355,1)}._1soATd{transform:translateY(-100%)}._1AawTM{float:left;color:#ec7259;margin:0 30px}._1AawTM:hover{color:#f08d79}._1AawTM:active{color:#e85739}._1YyUun{display:block;height:56px}._3JYrtj{flex-shrink:0}.hM7XFL{font-size:17px;color:#333;padding:0 20px;cursor:pointer}.hM7XFL:hover{background-color:#f2f2f2}body.reader-night-mode .hM7XFL:hover{background-color:#303030}body.reader-night-mode .hM7XFL{color:#d2d2d2}.UgblaD,.UgblaD:hover,body.reader-night-mode .UgblaD{color:#ec7259}._7hb9O4{float:right;margin:0 16px}._1nZg8v{height:48px;font-size:24px;color:#999}._1jKNin,._1nZg8v{cursor:pointer;margin:0 8px}._7hb9O4 ._3Sn1bM{padding:0 12px;margin-right:8px;color:#999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._7hb9O4 ._3Sn1bM:hover{background-color:#f2f2f2}body.reader-night-mode ._7hb9O4 ._3Sn1bM:hover{background-color:#303030}._7hb9O4 ._3INfum{border-radius:50%;width:40px;height:40px;margin-right:4px}._2MpoKb{padding-left:24px;padding-right:24px}._3t3lfz{position:absolute;top:0;left:0;width:100%;height:100%;transform:translateY(100%);transition:transform .3s cubic-bezier(.645,.045,.355,1)}.KEKfID{transform:translateY(0)}._1F7CTF{width:97px;height:56px;position:relative;margin-left:20px;margin-top:12px;animation:_14xzDK .5s ease-in-out both}._1o4qyK{position:absolute;left:51px;top:11px;font-size:14px;font-weight:500;color:#ffc961;z-index:1}._1YyGPQ{width:97px;position:absolute;top:0;left:0;object-fit:cover}@keyframes _14xzDK{2%{transform:translate(1.5px,1.5px) rotate(-.5deg)}8%{transform:translate(-1.5px,1.5px) rotate(1.5deg)}16%{transform:translate(1.5px,2.5px) rotate(-.5deg)}24%{transform:translate(1.5px,-.5px) rotate(.5deg)}32%{transform:translate(2.5px,.5px) rotate(.5deg)}40%{transform:translate(-1.5px,-.5px) rotate(1.5deg)}48%{transform:translate(1.5px,1.5px) rotate(1.5deg)}56%{transform:translate(.5px,.5px) rotate(-.5deg)}64%{transform:translate(-1.5px,-1.5px) rotate(1.5deg)}72%{transform:translate(1.5px,2.5px) rotate(1.5deg)}80%{transform:translate(.5px,2.5px) rotate(1.5deg)}88%{transform:translate(2.5px,1.5px) rotate(-.5deg)}96%{transform:translate(.5px,2.5px) rotate(-.5deg)}98%{transform:translate(2.5px,.5px) rotate(1.5deg)}0%,to{transform:translate(0) rotate(0)}}._1sMkbX{display:none;width:0;height:0}._23ISFX{position:relative;display:block;margin:0 auto}._23ISFX-mask{position:fixed;top:0;right:0;left:0;bottom:0;background-color:rgba(0,0,0,.5);height:100vh;filter:alpha(opacity=50);z-index:1000}._23ISFX-mask-hidden{display:none}._23ISFX-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;overflow:auto;outline:0;-webkit-overflow-scrolling:touch}._23ISFX-wrap-middle{text-align:center}._23ISFX-wrap-middle:before{content:"";display:inline-block;width:0;height:100%;vertical-align:middle}._23ISFX-wrap-middle ._23ISFX{position:static;display:inline-block;text-align:left;vertical-align:middle}._23ISFX-content{position:relative;background-color:#fff;border-radius:4px;box-shadow:0 2px 8px rgba(26,26,26,.1)}body.reader-night-mode ._23ISFX-content{background-color:#3d3d3d}._23ISFX-close{position:absolute;top:0;right:0;margin:0;padding:0;border:0;outline:0;color:grey;background-color:transparent;z-index:1;cursor:pointer;text-decoration:none}._23ISFX-close-x{display:flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:16px}._23ISFX-close:hover{color:#4d4d4d}body.reader-night-mode ._23ISFX-close:hover{color:#b3b3b3}._23ISFX-header{border-bottom:1px solid #eee;border-radius:4px 4px 0 0}._23ISFX-title{margin:0;font-size:18px;font-weight:bold}._23ISFX-body{line-height:1.5;word-wrap:break-word}._23ISFX-footer{display:flex;justify-content:flex-end;align-items:center;border-top:1px solid #eee;border-radius:4px 4px 0 0}._23ISFX-footer,._23ISFX-header{padding:16px 24px}body.reader-night-mode ._23ISFX-footer,body.reader-night-mode ._23ISFX-header{border-color:#2f2f2f}._23ISFX.zoom-appear,._23ISFX.zoom-enter{transform:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.KdlMNE{height:480px;overflow-y:scroll;padding:0 24px}@keyframes spinning{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}#nprogress{pointer-events:none}#nprogress .bar{position:fixed;background-color:#ec7259;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #ec7259,0 0 5px #ec7259;opacity:1;transform:rotate(3deg) translateY(-4px)}:focus{outline:0}body{line-height:1.42857;color:#404040;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Helvetica,Arial,sans-serif;font-feature-settings:"tnum";font-variant:tabular-nums}body.reader-night-mode{color:#b3b3b3;background-color:#3d3d3d}[role=button],button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}::selection{background-color:#1099ff}.ant-popover-content .ant-popover-inner{background-color:#fff}body.reader-night-mode .ant-popover-content .ant-popover-inner{background-color:#333}body.reader-night-mode .ant-popover-content .ant-popover-message{color:#b3b3b3}body.reader-night-mode .ant-popover-content .ant-btn:not(.ant-btn-primary){color:#b3b3b3;background-color:#3d3d3d;border-color:#999}body.reader-night-mode .ant-popover-content .ant-popover-arrow{border-color:#333}body.reader-night-mode .ant-select,body.reader-night-mode .ant-select-arrow{color:#b3b3b3}body.reader-night-mode .ant-select-selection{background-color:transparent;border-color:#2f2f2f;box-shadow:none}body.reader-night-mode .ant-select-dropdown-menu-item-group-title{color:#9f9f9f;background-color:#3d3d3d}body.reader-night-mode .ant-select-dropdown-menu-item{color:#b3b3b3;background-color:#3d3d3d}body.reader-night-mode .ant-select-dropdown-menu-item:hover:not(.ant-select-dropdown-menu-item-disabled){background-color:rgba(236,114,89,.7);color:#262626}body.reader-night-mode .ant-select-dropdown-menu-item-selected{background-color:#505050}body.reader-night-mode .ant-select-dropdown-menu-item-disabled,body.reader-night-mode .ant-select-dropdown-menu-item-disabled:hover{color:grey}body.reader-night-mode .ant-select-dropdown-menu-item-active:not(.ant-select-dropdown-menu-item-disabled){background-color:rgba(236,114,89,.7);color:#262626}ol,ul{padding-left:0;margin:0;list-style:none}b,h1,h2,h3,h4,h5,h6,strong{font-weight:600}h1,h2,h3,h4,h5,h6{color:#404040;text-rendering:optimizelegibility}body.reader-night-mode h1,body.reader-night-mode h2,body.reader-night-mode h3,body.reader-night-mode h4,body.reader-night-mode h5,body.reader-night-mode h6{color:#b3b3b3}a{color:#0681d0}a:hover{color:#056bad}input{border:0}input:-ms-input-placeholder{color:#999}input::-ms-input-placeholder{color:#999}input::placeholder{color:#999}.clearfix{zoom:1}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both;visibility:hidden;font-size:0;height:0}.is-fixed{position:fixed}</style><link rel="preload" data-savepage-href="https://cdn2.jianshu.io/shakespeare/_next/static/css/styles.fc24787f.chunk.css" href="" as="style"><style data-savepage-href="https://cdn2.jianshu.io/shakespeare/_next/static/css/styles.fc24787f.chunk.css">.ant-back-top{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;-webkit-font-feature-settings:"tnum","tnum";font-feature-settings:"tnum","tnum";position:fixed;right:100px;bottom:50px;z-index:10;width:40px;height:40px;cursor:pointer}.ant-back-top-content{width:40px;height:40px;overflow:hidden;color:#fff;text-align:center;background-color:rgba(0,0,0,.45);border-radius:20px}.ant-back-top-content,.ant-back-top-content:hover{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-back-top-content:hover{background-color:rgba(0,0,0,.65)}.ant-back-top-icon{width:14px;height:16px;margin:12px auto;background:url() 100%/100% no-repeat}@media screen and (max-width:768px){.ant-back-top{right:60px}}@media screen and (max-width:480px){.ant-back-top{right:20px}}.ant-affix{position:fixed;z-index:10}._3VRLsv{box-sizing:content-box;padding-left:16px;padding-right:16px;margin-left:auto;margin-right:auto;width:1000px}@media screen and (min-width:1921px){._3VRLsv{width:1200px}}._3Z3nHf,.ouvJEz{background-color:#fff;border-radius:4px;margin-bottom:10px;position:relative}body.reader-night-mode ._3Z3nHf,body.reader-night-mode .ouvJEz{background-color:#3d3d3d}._3kbg6I{background-color:#f9f9f9}body.reader-night-mode ._3kbg6I{background-color:#2d2d2d}._3VRLsv{display:flex;justify-content:center;align-items:flex-start;min-height:calc(100vh - 66px);padding-top:10px;font-size:16px}._gp-ck{flex-shrink:0;margin-bottom:24px;margin-right:10px;width:730px}@media screen and (min-width:1921px){._gp-ck{width:930px}}.ouvJEz{padding:32px}._2OwGUo{flex-shrink:0;width:260px}._3Z3nHf{padding:16px}.QxT4hD{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-left:12px;border-left:4px solid #ec7259;font-size:18px;font-weight:500;height:20px;line-height:20px}._1aCo37,.KSzoIa{position:relative;display:block;margin:0 auto}._1aCo37-mask,.KSzoIa-mask{position:fixed;top:0;right:0;left:0;bottom:0;background-color:rgba(0,0,0,.3);height:100vh;filter:alpha(opacity=50);z-index:1000}._1aCo37-mask-hidden,.KSzoIa-mask-hidden{display:none}._1aCo37-wrap,.KSzoIa-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;overflow:auto;outline:0;-webkit-overflow-scrolling:touch}._1aCo37-wrap-middle,.KSzoIa-wrap-middle{text-align:center}._1aCo37-wrap-middle:before,.KSzoIa-wrap-middle:before{content:"";display:inline-block;width:0;height:100%;vertical-align:middle}._1aCo37-wrap-middle ._1aCo37,._1aCo37-wrap-middle .KSzoIa,.KSzoIa-wrap-middle ._1aCo37,.KSzoIa-wrap-middle .KSzoIa{position:static;display:inline-block;text-align:left;vertical-align:middle}._1aCo37-content,.KSzoIa-content{position:relative;background-color:#fff;border-radius:10px;box-shadow:0 2px 8px rgba(26,26,26,.1)}body.reader-night-mode ._1aCo37-content,body.reader-night-mode .KSzoIa-content{background-color:#3d3d3d}._1aCo37-close,.KSzoIa-close{position:absolute;top:12px;right:12px;margin:0;padding:0;border:0;outline:0;color:grey;background-color:transparent;z-index:1;cursor:pointer;text-decoration:none}._1aCo37-close-x,.KSzoIa-close-x{display:flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:0;background-image:url();background-repeat:no-repeat;background-size:contain}._1aCo37-close:hover,.KSzoIa-close:hover{color:#4d4d4d}body.reader-night-mode ._1aCo37-close:hover,body.reader-night-mode .KSzoIa-close:hover{color:#b3b3b3}._1aCo37-header,.KSzoIa-header{border-bottom:1px solid #eee;border-radius:4px 4px 0 0}._1aCo37-title,.KSzoIa-title{margin:0;font-size:18px;font-weight:bold}._1aCo37-body,.KSzoIa-body{line-height:1.5;word-wrap:break-word}._1aCo37-footer,.KSzoIa-footer{display:flex;justify-content:flex-end;align-items:center;border-top:1px solid #eee;border-radius:4px 4px 0 0}._1aCo37-footer,._1aCo37-header,.KSzoIa-footer,.KSzoIa-header{padding:16px 24px}body.reader-night-mode ._1aCo37-footer,body.reader-night-mode ._1aCo37-header,body.reader-night-mode .KSzoIa-footer,body.reader-night-mode .KSzoIa-header{border-color:#2f2f2f}._1aCo37.zoom-appear,._1aCo37.zoom-enter,.KSzoIa.zoom-appear,.KSzoIa.zoom-enter{transform:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._1aCo37-close{position:absolute;top:12px;right:12px;margin:0;padding:0;border:0;outline:0;background-color:transparent;z-index:1;cursor:pointer;text-decoration:none}._1aCo37-close-x{display:flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:0;background-image:url();background-repeat:no-repeat;background-size:contain}._1aCo37-close:hover{color:grey}body.reader-night-mode ._1aCo37-close:hover{color:#b3b3b3}._3t111M{position:relative;text-align:center}._2l86n7{width:100%;background:#320761;border-radius:10px;padding-bottom:50px}._2l86n7 ._3aWyFW{padding:40px 0 16px;font-size:20px;color:#fad9bd;font-weight:500;text-align:center}._2l86n7 ._2NOBIK{width:260px;height:260px;background-image:/*savepage-url=/_next/static/images/lucky-bdbb97f528fe34c94d3ba2084dd8ee12.png*/url();background-repeat:no-repeat;background-size:cover;background-position:50%;margin:30px auto 0;display:flex;justify-content:center;align-items:center}._2l86n7 ._2NOBIK:hover{background-image:/*savepage-url=/_next/static/images/lucky_mask-6b3a5a954b941b9970bc1cd1d5e5c009.png*/url()}._2l86n7 ._2NOBIK:hover ._2uihBf{display:block}._2l86n7 ._2NOBIK:hover ._2uKkeL{display:none}._2l86n7 ._2uKkeL{width:60px;cursor:pointer;animation:fvD1-O 1.1s infinite}._2l86n7 ._2uihBf{display:none}._2l86n7 ._3soC3h{position:absolute;bottom:4px;left:16px;width:52px;height:52px;opacity:.46;background:linear-gradient(45deg,#fb349b 0,#ef54a5 100%);filter:blur(16px)}._2l86n7 .fwRIDQ{font-size:16px;font-weight:400;line-height:22px;text-align:center;color:#fad9bd}._2l86n7 .ADGko5{padding:0 0 16px;text-align:center}._2l86n7 ._3i7rCI{padding-bottom:40px;text-align:center;font-size:14px;color:#fad9bd}._2i0fZb{position:relative}._2i0fZb ._1MHmqB{color:#ea6f5a;padding:40px 0 20px}._2i0fZb ._1MHmqB,._2i0fZb ._3PcplF{text-align:center;font-size:18px;font-weight:500}._2i0fZb ._3PcplF{color:#000}._2i0fZb ._2rDTqE{text-align:center;padding:14px 0}._2i0fZb ._2E8yYv{position:relative;height:80px}._2i0fZb ._3NirZy{color:#b3b3b3}._1KICgo{font-size:18px;color:#333;text-align:center;padding-top:40px;font-weight:500}._1Vljxu{color:#b3b3b3}.-Vyxi6{margin:15px auto 0;max-width:360px;min-width:240px;height:67px;border-radius:6px;border:1px solid #eee;padding:12px 8px 10px 12px;text-align:left;position:relative}.-Vyxi6,._3yX3an{display:inline-block}._3yX3an{max-width:327px;min-width:200px}._2XxmFe{height:22px;font-size:16px;font-weight:400;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}._3Iikxa{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:12px;height:12px}._1jvExz{margin-top:4px;font-size:12px;color:#999;font-weight:400}._1jvExz span:first-child{padding-right:20px}._26W-kl{text-align:center;padding-top:32px;font-size:16px;font-weight:400}._1YqYDd{padding-top:42px}._2RIdbX{text-align:center;padding:15px 0}._3DrMLk{position:relative;height:80px}._8CfUsv{position:absolute;height:40px;line-height:40px;left:50%;transform:translateX(-50%);color:#999;padding:0 24px;border:1px solid #999;font-size:16px;border-radius:20px;cursor:pointer;transition:all .3s ease}._8CfUsv:hover{color:#717171;border-color:#717171}._31UUMV{width:100%;height:600px;background:#320761;position:relative}._3q-z-N,._31UUMV{border-radius:10px}._AhqBQ{background-image:/*savepage-url=/_next/static/images/lottery_top-2d5d8df47660c74e205b5314e1ad9aa3.png*/url();height:302px;width:302px;top:40px;z-index:2}._AhqBQ,.UAL657{background-repeat:no-repeat;background-size:contain;background-position:50%;position:absolute;left:50%;transform:translateX(-50%)}.UAL657{background-image:url();width:166px;height:235px;top:325px}._2iLwYr{position:absolute;top:23.5%;left:50%;transform:translateX(-50%)}@keyframes fvD1-O{0%{transform:scale(.8)}50%{transform:scale(1)}to{transform:scale(.8)}}._3yfjDE{flex-direction:column;height:calc(100vh - 56px)}._3yfjDE,.l3_euy{display:flex;align-items:center;justify-content:center}.l3_euy{margin-bottom:32px;padding-bottom:48px;border-bottom:1px solid #eee}body.reader-night-mode .l3_euy{border-color:#2f2f2f}._23lAnl{width:280px;height:280px;margin-right:48px}._2msktx{font-size:24px;font-weight:500;margin-bottom:8px}._1gKcub{font-size:14px;width:400px;line-height:1.7}._2QxXJ4{display:flex}._2QxXJ4,._3Fatyw{align-items:center}._3Fatyw{display:inline-flex;justify-content:center;font-size:14px}._3Fatyw>i{font-size:18px;margin-right:4px}._3Fatyw+._3Fatyw{margin-left:120px}.WaroTI{position:relative;padding:16px 24px}._1fPOct{font-size:48px;color:#ec7259;text-align:center;margin:24px 0}._1QfoLq{font-size:15px;margin-bottom:20px}.foQ1KX{display:flex}.foQ1KX ._1RGYzT{flex-shrink:0}.foQ1KX ._2eRvNE{display:flex;overflow:hidden}.foQ1KX ._3gPPP9{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._1G9Mr4{display:block;width:100%;font-size:14px;margin-bottom:20px;padding:12px;border:1px solid #eee;border-radius:4px;resize:none}._1G9Mr4:-ms-input-placeholder{color:#999}._1G9Mr4::-ms-input-placeholder{color:#999}._1G9Mr4::placeholder{color:#999}body.reader-night-mode ._1G9Mr4{background-color:#333;border-color:#2f2f2f}.nnghRR{font-size:13px;color:#969696}.nnghRR>p{margin-bottom:1em}._2cxUIy{margin:0;padding:0;list-style:none}.LtPwLP{margin-bottom:16px;padding-bottom:16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee}.LtPwLP>div{min-height:100px;flex-grow:1}.LtPwLP img{width:150px;height:100px;border-radius:4px;border:1px solid #f2f2f2;flex-shrink:0}._3vFh0x{position:relative;display:block;text-align:center;font-size:13px;color:#ec7259;margin:-24px -24px 0;padding:8px 16px;background-color:#fefceb}._2jn4Ld{color:#0681d0}._2jn4Ld:hover{color:#056bad}._1bQgC5{position:absolute;top:50%;right:16px;transform:translateY(-50%)}._16zCst,._26qd_C{display:flex;align-items:center;height:56px}.FTZkZo{box-sizing:content-box;padding-left:16px;padding-right:16px;margin-left:auto;margin-right:auto;width:1000px}@media screen and (min-width:1921px){.FTZkZo{width:1200px}}.FTZkZo{display:flex;justify-content:space-between;height:56px}._16zCst{overflow:hidden;padding:0 24px;max-width:730px}@media screen and (min-width:1921px){._16zCst{max-width:930px}}._2zeTMs{margin:0;font-size:24px;font-weight:700;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._26qd_C{flex-shrink:0}.qzhJKO{display:inline-flex;align-items:center}._2JlnTn{width:40px;height:40px;border-radius:50%}._22gUMi{color:#7d7d7d;margin:0 10px}._1bCFo7{width:320px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._3PUMf1{display:flex;justify-content:center;align-items:center;height:32px}._2W7JCU{width:8px;height:8px;background-color:#8c8c8c;margin:0 5px;border-radius:50%;cursor:pointer;transition:background-color .1s}._2W7JCU:hover{background-color:#737373}._2W7JCU._1je2YA{background-color:#595959;pointer-events:none}body.reader-night-mode ._2W7JCU:hover{background-color:#a6a6a6}body.reader-night-mode ._2W7JCU._1je2YA{background-color:#bfbfbf}._3F7sjs{width:100%;display:flex;flex-wrap:wrap;flex-shrink:0}._3kPlPc{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;font-size:24px;color:#404040;width:32px;height:32px;padding:4px;border-radius:4px;cursor:pointer;overflow:hidden}._3kPlPc:hover{background-color:rgba(51,51,51,.1)}body.reader-night-mode ._3kPlPc:hover{background-color:#4d4d4d}body.reader-night-mode ._2SihW7,body.reader-night-mode ._3-V2jR .ant-dropdown-menu-sub{background-color:#3d3d3d}._5g0jij .ant-dropdown-menu-submenu-title{padding:8px 20px 8px 12px;color:#666}._5g0jij .ant-dropdown-menu-submenu-title:hover{background-color:#f2f2f2}body.reader-night-mode ._5g0jij .ant-dropdown-menu-submenu-title{color:#a6a6a6}body.reader-night-mode ._5g0jij .ant-dropdown-menu-submenu-title:hover{background-color:#303030}._5g0jij .ant-dropdown-menu-submenu-arrow{top:7px;right:8px}._5g0jij .ant-dropdown-menu-submenu-arrow-icon{color:#666}body.reader-night-mode ._5g0jij .ant-dropdown-menu-submenu-arrow-icon{color:#a6a6a6}._1SgxkY{padding:8px 12px;color:#666}._1SgxkY:hover{background-color:#f2f2f2}body.reader-night-mode ._1SgxkY{color:#a6a6a6}body.reader-night-mode ._1SgxkY:hover{background-color:#303030}._1Jdfvb{box-sizing:content-box;padding-left:16px;padding-right:16px;margin-left:auto;margin-right:auto;width:1000px}@media screen and (min-width:1921px){._1Jdfvb{width:1200px}}.W2TSX_{background-color:#f2f2f2}.W2TSX_:-ms-input-placeholder{color:#999}.W2TSX_::-ms-input-placeholder{color:#999}.W2TSX_::placeholder{color:#999}body.reader-night-mode .W2TSX_{background-color:#333}._1LI0En{position:relative;display:block}._2xr8G8{position:fixed;left:0;right:0;bottom:0;background-color:#fff;box-shadow:0 -2px 10px rgba(0,0,0,.05);z-index:100}body.reader-night-mode ._2xr8G8{background-color:#3d3d3d}._1Jdfvb{display:flex;align-items:center;padding-top:10px;padding-bottom:10px}._1Jdfvb.ufcbR-{align-items:flex-end}._1Jdfvb.ufcbR- .W2TSX_{width:560px;height:56px;padding-right:80px;border-radius:4px}.TDvCqd{display:flex;position:relative}.TDvCqd[focus-within] .W2TSX_{will-change:width,height,padding-right,border-radius}.TDvCqd:focus-within .W2TSX_{will-change:width,height,padding-right,border-radius}.W2TSX_{display:inline-flex;width:400px;height:36px;resize:none;margin-right:16px;padding:8px 18px;border-radius:18px;border:none;transition:all .2s cubic-bezier(.19,.4,.17,.85)}._2qhU6p{position:absolute;right:16px;bottom:8px;font-size:20px;margin-right:12px;color:#969696}._2qhU6p:hover{color:#7d7d7d}.-pXE92{color:#969696;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.-pXE92,._3nj4GN{display:flex;align-items:center}._3nj4GN{font-size:14px;cursor:pointer}._3nj4GN>span{margin-left:8px;line-height:20px}._3nj4GN .anticon{font-size:22px}._3nj4GN:not(:last-child){margin-right:24px}._3nj4GN._3oieia{color:#ec7259}._2edyx1{flex-shrink:0;margin-right:8px}._1_2JEL{display:block}.rEsl9f{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;font-size:13px}.s-dsoj{display:flex;color:#969696}.s-dsoj>:not(:last-child){margin-right:10px}._1NDgW7{color:#969696;flex-shrink:0}._3tCVn5{display:inline-flex;align-items:center;justify-content:center;color:#ec7259}._3tCVn5 i{margin-right:.5em}._2mYfmT{display:flex;align-items:center}._1qp91i{position:relative}._13D2Eh{display:block;border-radius:50%;border:1px solid #eee;min-width:50px;min-height:50px;width:50px;height:50px}body.reader-night-mode ._13D2Eh{border-color:#2f2f2f}._1cHizA{width:68px;height:68px;position:absolute;top:-9px;left:-9px}._3U4Smb{display:flex;align-items:center;margin-bottom:6px}.FxYr8x{font-size:16px;font-weight:500;margin-right:8px}._3kba3h{padding:2px 9px}._3URWaO{margin-left:5px;height:11px;font-size:12px;font-family:PingFangSC,PingFangSC-Regular;font-weight:400;text-align:left;color:#9a9a9a;line-height:11px}._3_y8t4{display:flex;align-items:center;width:100%;margin:20px 0;padding:8px 16px;border-radius:4px;background-color:#f2f2f2}body.reader-night-mode ._3_y8t4{background-color:#4d4d4d}._3_y8t4._1cBl4m,body.reader-night-mode ._3_y8t4._1cBl4m{background-color:rgba(218,158,85,.1)}._3_y8t4._1cBl4m ._1NiROM{background-image:url();animation:none}._1NiROM{flex-shrink:0;width:32px;height:32px;cursor:pointer;background-image:url();background-position:50%;background-repeat:no-repeat;background-size:cover}._30e-qR{background-image:url();animation:spinning 1s linear infinite}._2qk-7T{background-image:url()}._35-1od{flex-grow:1;margin:0 16px;overflow:hidden}._2aoc2_{font-size:14px;font-weight:500;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iWiJE9{font-size:12px}._2z_B4K{color:#da9e55;margin-right:8px}._1jirLm,._3u_PHG{color:#969696}._1jirLm{flex-shrink:0;font-size:13px}._2rhmJa code,._2rhmJa pre,._2rhmJa pre[class*=language-]{font-family:Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace;font-size:12px}._2rhmJa{font-weight:400;line-height:1.8;margin-bottom:20px;word-break:break-word;position:relative}._2rhmJa._3qEfO1{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._2rhmJa._2BJJ_f{height:2000px;overflow:hidden}._2rhmJa h1,._2rhmJa h2,._2rhmJa h3,._2rhmJa h4,._2rhmJa h5,._2rhmJa h6{margin-bottom:16px}._2rhmJa h1{font-size:26px}._2rhmJa h2{font-size:24px}._2rhmJa h3{font-size:22px}._2rhmJa h4{font-size:20px}._2rhmJa h5{font-size:18px}._2rhmJa h6{font-size:16px}._2rhmJa p{margin-bottom:20px;word-break:break-word}._2rhmJa hr{margin:0 0 20px;border:0;border-top:1px solid #eee!important}body.reader-night-mode ._2rhmJa hr{border-color:#2f2f2f!important}._2rhmJa blockquote{padding:20px;background-color:#fafafa;border-left:6px solid #e6e6e6;word-break:break-word;font-size:16px;font-weight:normal;line-height:30px;margin:0 0 20px}body.reader-night-mode ._2rhmJa blockquote{background-color:#595959;border-color:#262626}._2rhmJa blockquote h1:last-child,._2rhmJa blockquote h2:last-child,._2rhmJa blockquote h3:last-child,._2rhmJa blockquote h4:last-child,._2rhmJa blockquote h5:last-child,._2rhmJa blockquote h6:last-child,._2rhmJa blockquote li:last-child,._2rhmJa blockquote ol:last-child,._2rhmJa blockquote p:last-child,._2rhmJa blockquote ul:last-child{margin-bottom:0}._2rhmJa blockquote .image-package{width:100%;margin-left:0}._2rhmJa ol,._2rhmJa ul{word-break:break-word;margin:0 0 20px 20px}._2rhmJa ol li,._2rhmJa ul li{line-height:30px}._2rhmJa ol li ol,._2rhmJa ol li ul,._2rhmJa ul li ol,._2rhmJa ul li ul{margin-top:16px}._2rhmJa ol{list-style-type:decimal}._2rhmJa ul{list-style-type:disc}._2rhmJa code{padding:2px 4px;border:none;vertical-align:middle;white-space:pre-wrap}._2rhmJa :not(pre) code{color:#c7254e;background-color:#f2f2f2}body.reader-night-mode ._2rhmJa :not(pre) code{background-color:#262626}._2rhmJa pre,._2rhmJa pre[class*=language-]{word-wrap:normal;word-break:break-all;white-space:pre;overflow-x:scroll;overscroll-behavior-x:contain;margin-top:0;margin-bottom:20px;border-radius:4px;z-index:0;padding:1em;line-height:1.5;color:#ccc;background:#2d2d2d}._2rhmJa pre[class*=language-] code,._2rhmJa pre code{padding:0;background-color:transparent;color:inherit;white-space:pre;vertical-align:unset}._2rhmJa table{width:100%;margin-bottom:20px;border-collapse:collapse;border:1px solid #eee;border-left:none;word-break:break-word}body.reader-night-mode ._2rhmJa table,body.reader-night-mode ._2rhmJa table td,body.reader-night-mode ._2rhmJa table th{border-color:#2f2f2f}._2rhmJa table td,._2rhmJa table th{padding:8px;border:1px solid #eee;line-height:20px;vertical-align:middle}._2rhmJa table th{font-weight:bold}._2rhmJa table thead th{vertical-align:middle;text-align:inherit}._2rhmJa table tr:nth-of-type(2n){background-color:hsla(0,0%,70.2%,.15)}._2rhmJa table .image-package{width:100%;margin-left:0}._2rhmJa img{max-width:100%}._2rhmJa .image-package{width:100%;margin:0;padding-bottom:25px;text-align:center;font-size:0}._2rhmJa .image-package img{max-width:100%;width:auto;height:auto;vertical-align:middle;border:0}body.reader-night-mode ._2rhmJa .image-package img{opacity:.85}._2rhmJa .image-package .image-container{position:relative;z-index:95;background-color:#e6e6e6;transition:background-color .1s linear;margin:0 auto}body.reader-night-mode ._2rhmJa .image-package .image-container{background-color:#595959}._2rhmJa .image-package .image-container-fill{z-index:90}._2rhmJa .image-package .image-container .image-view{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}._2rhmJa .image-package .image-container .image-view-error{cursor:pointer;color:grey}body.reader-night-mode ._2rhmJa .image-package .image-container .image-view-error{color:#b3b3b3}._2rhmJa .image-package .image-container .image-view-error:after{content:"\56FE\7247\83B7\53D6\5931\8D25\FF0C\8BF7\70B9\51FB\91CD\8BD5";position:absolute;top:50%;left:50%;width:100%;transform:translate(-50%,-50%);color:inherit;font-size:14px}._2rhmJa .image-package .image-container .image-view img.image-loading{opacity:.3}._2rhmJa .image-package .image-container .image-view img{transition:all .15s linear;z-index:95;opacity:1}._2rhmJa .image-package .image-caption{min-width:20%;max-width:80%;min-height:43px;display:inline-block;padding:10px;margin:0 auto;border-bottom:1px solid #eee;font-size:13px;color:#999}._2rhmJa .image-package .image-caption:empty{display:none}body.reader-night-mode ._2rhmJa .image-package .image-caption{border-color:#2f2f2f}._2rhmJa .math-block[mathimg="1"]{display:block;margin:1em auto}._2rhmJa .math-inline[mathimg="1"]{display:inline;margin:0 3px;vertical-align:middle}._2rhmJa .math-block[mathimg="1"],._2rhmJa .math-inline[mathimg="1"]{max-width:100%}body.reader-night-mode ._2rhmJa .math-block[mathimg="1"],body.reader-night-mode ._2rhmJa .math-inline[mathimg="1"]{filter:invert(.8)}._3GbnS5{padding:0;line-height:1.5;position:relative;width:100%;height:1px;margin:20px 0;border:none;border-top:#b3b3b3;display:table;white-space:nowrap;text-align:center}._3GbnS5:after,._3GbnS5:before{content:"";display:table-cell;position:relative;top:50%;left:0;width:50%;border-top:1px solid;border-top-color:inherit;transform:scaleY(.5) translateY(50%);transform-origin:50% 50% 0;transform-origin:initial}._2Lt-af{display:inline-block;padding:0 12px;font-size:14px;font-weight:normal;text-align:center;white-space:nowrap;color:#b3b3b3;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._2Lt-af>a{margin-left:.5em}._19DgIp{width:100%;height:1px;margin:16px 0;background-color:#eee}body.reader-night-mode ._19DgIp{background-color:#2f2f2f}._3y7CB9{display:flex;flex-direction:column;margin-bottom:32px;font-size:13px;color:#969696;line-height:1.8}._2Kbacm{color:hsla(0,0%,58.8%,.4)}._2ssoa1{display:flex;align-items:center;margin:30px 0;line-height:20px;border-radius:30px;background-color:#f2f2f2}body.reader-night-mode ._2ssoa1{background-color:#333}._2bdkP8{display:flex;align-items:center;justify-content:center;width:33.33%;height:60px;font-size:14px;font-weight:bold}._3dvb2i{height:20px;color:#8c8c8c;font-weight:normal;border-left:1px solid #eee;border-right:1px solid #eee;cursor:pointer}body.reader-night-mode ._3dvb2i{border-color:#2f2f2f}.ant-select{-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;-webkit-font-feature-settings:"tnum","tnum";font-feature-settings:"tnum","tnum";position:relative;display:inline-block;outline:0}.ant-select,.ant-select ol,.ant-select ul{margin:0;padding:0;list-style:none}.ant-select>ul>li>a{padding:0;background-color:#fff}.ant-select-arrow{display:inline-block;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;top:50%;right:11px;margin-top:-6px;color:rgba(0,0,0,.25);font-size:12px;line-height:1;-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}.ant-select-arrow>*{line-height:1}.ant-select-arrow svg{display:inline-block}.ant-select-arrow:before{display:none}.ant-select-arrow .ant-select-arrow-icon{display:block}.ant-select-arrow .ant-select-arrow-icon svg{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.ant-select-selection{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fff;border:1px solid #d9d9d9;border-top:1.02px solid #d9d9d9;border-radius:4px;outline:none;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-select-selection:hover{border-color:#fa9e87;border-right-width:1px!important}.ant-select-focused .ant-select-selection,.ant-select-selection:active,.ant-select-selection:focus{border-color:#fa9e87;border-right-width:1px!important;outline:0;-webkit-box-shadow:0 0 0 2px rgba(236,114,89,.2);box-shadow:0 0 0 2px rgba(236,114,89,.2)}.ant-select-selection__clear{position:absolute;top:50%;right:11px;z-index:1;display:inline-block;width:12px;height:12px;margin-top:-6px;color:rgba(0,0,0,.25);font-size:12px;font-style:normal;line-height:12px;text-align:center;text-transform:none;background:#fff;cursor:pointer;opacity:0;-webkit-transition:color .3s ease,opacity .15s ease;transition:color .3s ease,opacity .15s ease;text-rendering:auto}.ant-select-selection__clear:before{display:block}.ant-select-selection__clear:hover{color:rgba(0,0,0,.45)}.ant-select-selection:hover .ant-select-selection__clear{opacity:1}.ant-select-selection-selected-value{float:left;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-select-no-arrow .ant-select-selection-selected-value{padding-right:0}.ant-select-disabled{color:rgba(0,0,0,.25)}.ant-select-disabled .ant-select-selection{background:#f5f5f5;cursor:not-allowed}.ant-select-disabled .ant-select-selection:active,.ant-select-disabled .ant-select-selection:focus,.ant-select-disabled .ant-select-selection:hover{border-color:#d9d9d9;-webkit-box-shadow:none;box-shadow:none}.ant-select-disabled .ant-select-selection__clear{display:none;visibility:hidden;pointer-events:none}.ant-select-disabled .ant-select-selection--multiple .ant-select-selection__choice{padding-right:10px;color:rgba(0,0,0,.33);background:#f5f5f5}.ant-select-disabled .ant-select-selection--multiple .ant-select-selection__choice__remove{display:none}.ant-select-selection--single{position:relative;height:32px;cursor:pointer}.ant-select-selection--single .ant-select-selection__rendered{margin-right:24px}.ant-select-no-arrow .ant-select-selection__rendered{margin-right:11px}.ant-select-selection__rendered{position:relative;display:block;margin-right:11px;margin-left:11px;line-height:30px}.ant-select-selection__rendered:after{display:inline-block;width:0;visibility:hidden;content:".";pointer-events:none}.ant-select-lg{font-size:16px}.ant-select-lg .ant-select-selection--single{height:40px}.ant-select-lg .ant-select-selection__rendered{line-height:38px}.ant-select-lg .ant-select-selection--multiple{min-height:40px}.ant-select-lg .ant-select-selection--multiple .ant-select-selection__rendered li{height:32px;line-height:32px}.ant-select-lg .ant-select-selection--multiple .ant-select-arrow,.ant-select-lg .ant-select-selection--multiple .ant-select-selection__clear{top:20px}.ant-select-sm .ant-select-selection--single{height:24px}.ant-select-sm .ant-select-selection__rendered{margin-left:7px;line-height:22px}.ant-select-sm .ant-select-selection--multiple{min-height:24px}.ant-select-sm .ant-select-selection--multiple .ant-select-selection__rendered li{height:16px;line-height:14px}.ant-select-sm .ant-select-selection--multiple .ant-select-arrow,.ant-select-sm .ant-select-selection--multiple .ant-select-selection__clear{top:12px}.ant-select-sm .ant-select-arrow,.ant-select-sm .ant-select-selection__clear{right:8px}.ant-select-disabled .ant-select-selection__choice__remove{color:rgba(0,0,0,.25);cursor:default}.ant-select-disabled .ant-select-selection__choice__remove:hover{color:rgba(0,0,0,.25)}.ant-select-search__field__wrap{position:relative;display:inline-block}.ant-select-search__field__placeholder,.ant-select-selection__placeholder{position:absolute;top:50%;right:9px;left:0;max-width:100%;height:20px;margin-top:-10px;overflow:hidden;color:#bfbfbf;line-height:20px;white-space:nowrap;text-align:left;text-overflow:ellipsis}.ant-select-search__field__placeholder{left:12px}.ant-select-search__field__mirror{position:absolute;top:0;left:0;white-space:pre;opacity:0;pointer-events:none}.ant-select-search--inline{position:absolute;width:100%;height:100%}.ant-select-search--inline .ant-select-search__field__wrap{width:100%;height:100%}.ant-select-search--inline .ant-select-search__field{width:100%;height:100%;font-size:100%;line-height:1;background:transparent;border-width:0;border-radius:4px;outline:0}.ant-select-search--inline>i{float:right}.ant-select-selection--multiple{min-height:32px;padding-bottom:3px;cursor:text;zoom:1}.ant-select-selection--multiple:after,.ant-select-selection--multiple:before{display:table;content:""}.ant-select-selection--multiple:after{clear:both}.ant-select-selection--multiple .ant-select-search--inline{position:static;float:left;width:auto;max-width:100%;padding:0}.ant-select-selection--multiple .ant-select-search--inline .ant-select-search__field{width:.75em;max-width:100%}.ant-select-selection--multiple .ant-select-selection__rendered{height:auto;margin-bottom:-3px;margin-left:5px}.ant-select-selection--multiple .ant-select-selection__placeholder{margin-left:6px}.ant-select-selection--multiple .ant-select-selection__rendered>ul>li,.ant-select-selection--multiple>ul>li{height:24px;margin-top:3px;line-height:22px}.ant-select-selection--multiple .ant-select-selection__choice{position:relative;float:left;max-width:99%;margin-right:4px;padding:0 20px 0 10px;overflow:hidden;color:rgba(0,0,0,.65);background-color:#fafafa;border:1px solid #e8e8e8;border-radius:2px;cursor:default;-webkit-transition:padding .3s cubic-bezier(.645,.045,.355,1);transition:padding .3s cubic-bezier(.645,.045,.355,1)}.ant-select-selection--multiple .ant-select-selection__choice__disabled{padding:0 10px}.ant-select-selection--multiple .ant-select-selection__choice__content{display:inline-block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-transition:margin .3s cubic-bezier(.645,.045,.355,1);transition:margin .3s cubic-bezier(.645,.045,.355,1)}.ant-select-selection--multiple .ant-select-selection__choice__remove{color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;right:4px;color:rgba(0,0,0,.45);font-weight:bold;line-height:inherit;cursor:pointer;-webkit-transition:all .3s;transition:all .3s;display:inline-block;font-size:12px;font-size:10px\9;-webkit-transform:scale(.83333333) rotate(0deg);-ms-transform:scale(.83333333) rotate(0deg);transform:scale(.83333333) rotate(0deg)}.ant-select-selection--multiple .ant-select-selection__choice__remove>*{line-height:1}.ant-select-selection--multiple .ant-select-selection__choice__remove svg{display:inline-block}.ant-select-selection--multiple .ant-select-selection__choice__remove:before{display:none}.ant-select-selection--multiple .ant-select-selection__choice__remove .ant-select-selection--multiple .ant-select-selection__choice__remove-icon{display:block}:root .ant-select-selection--multiple .ant-select-selection__choice__remove{font-size:12px}.ant-select-selection--multiple .ant-select-selection__choice__remove:hover{color:rgba(0,0,0,.75)}.ant-select-selection--multiple .ant-select-arrow,.ant-select-selection--multiple .ant-select-selection__clear{top:16px}.ant-select-allow-clear .ant-select-selection--single .ant-select-selection-selected-value{padding-right:16px}.ant-select-allow-clear .ant-select-selection--multiple .ant-select-selection__rendered,.ant-select-show-arrow .ant-select-selection--multiple .ant-select-selection__rendered{margin-right:20px}.ant-select-open .ant-select-arrow-icon svg{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.ant-select-open .ant-select-selection{border-color:#fa9e87;border-right-width:1px!important;outline:0;-webkit-box-shadow:0 0 0 2px rgba(236,114,89,.2);box-shadow:0 0 0 2px rgba(236,114,89,.2)}.ant-select-combobox .ant-select-arrow{display:none}.ant-select-combobox .ant-select-search--inline{float:none;width:100%;height:100%}.ant-select-combobox .ant-select-search__field__wrap{width:100%;height:100%}.ant-select-combobox .ant-select-search__field{position:relative;z-index:1;width:100%;height:100%;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1),height 0s;transition:all .3s cubic-bezier(.645,.045,.355,1),height 0s}.ant-select-combobox.ant-select-allow-clear .ant-select-selection:hover .ant-select-selection__rendered,.ant-select-combobox.ant-select-show-arrow .ant-select-selection:hover .ant-select-selection__rendered{margin-right:20px}.ant-select-dropdown{margin:0;padding:0;color:rgba(0,0,0,.65);font-variant:tabular-nums;line-height:1.5;list-style:none;-webkit-font-feature-settings:"tnum","tnum",;font-feature-settings:"tnum","tnum",;position:absolute;top:-9999px;left:-9999px;z-index:1050;-webkit-box-sizing:border-box;box-sizing:border-box;font-size:14px;font-variant:normal;background-color:#fff;border-radius:4px;outline:none;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.15);box-shadow:0 2px 8px rgba(0,0,0,.15)}.ant-select-dropdown.slide-up-appear.slide-up-appear-active.ant-select-dropdown-placement-bottomLeft,.ant-select-dropdown.slide-up-enter.slide-up-enter-active.ant-select-dropdown-placement-bottomLeft{-webkit-animation-name:antSlideUpIn;animation-name:antSlideUpIn}.ant-select-dropdown.slide-up-appear.slide-up-appear-active.ant-select-dropdown-placement-topLeft,.ant-select-dropdown.slide-up-enter.slide-up-enter-active.ant-select-dropdown-placement-topLeft{-webkit-animation-name:antSlideDownIn;animation-name:antSlideDownIn}.ant-select-dropdown.slide-up-leave.slide-up-leave-active.ant-select-dropdown-placement-bottomLeft{-webkit-animation-name:antSlideUpOut;animation-name:antSlideUpOut}.ant-select-dropdown.slide-up-leave.slide-up-leave-active.ant-select-dropdown-placement-topLeft{-webkit-animation-name:antSlideDownOut;animation-name:antSlideDownOut}.ant-select-dropdown-hidden{display:none}.ant-select-dropdown-menu{max-height:250px;margin-bottom:0;padding-left:0;overflow:auto;list-style:none;outline:none}.ant-select-dropdown-menu-item-group-list{margin:0;padding:0}.ant-select-dropdown-menu-item-group-list>.ant-select-dropdown-menu-item{padding-left:20px}.ant-select-dropdown-menu-item-group-title{height:32px;padding:0 12px;color:rgba(0,0,0,.45);font-size:12px;line-height:32px}.ant-select-dropdown-menu-item-group-list .ant-select-dropdown-menu-item:first-child:not(:last-child),.ant-select-dropdown-menu-item-group:not(:last-child) .ant-select-dropdown-menu-item-group-list .ant-select-dropdown-menu-item:last-child{border-radius:0}.ant-select-dropdown-menu-item{position:relative;display:block;padding:5px 12px;overflow:hidden;color:rgba(0,0,0,.65);font-weight:normal;line-height:22px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;-webkit-transition:background .3s ease;transition:background .3s ease}.ant-select-dropdown-menu-item:hover:not(.ant-select-dropdown-menu-item-disabled){background-color:#fff5f0}.ant-select-dropdown-menu-item:first-child{border-radius:4px 4px 0 0}.ant-select-dropdown-menu-item:last-child{border-radius:0 0 4px 4px}.ant-select-dropdown-menu-item-selected{color:rgba(0,0,0,.65);font-weight:600;background-color:#fafafa}.ant-select-dropdown-menu-item-disabled,.ant-select-dropdown-menu-item-disabled:hover{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-select-dropdown-menu-item-active:not(.ant-select-dropdown-menu-item-disabled){background-color:#fff5f0}.ant-select-dropdown-menu-item-divider{height:1px;margin:1px 0;overflow:hidden;line-height:0;background-color:#e8e8e8}.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item{padding-right:32px}.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item .ant-select-selected-icon{position:absolute;top:50%;right:12px;color:transparent;font-weight:bold;font-size:12px;text-shadow:0 .1px 0,.1px 0 0,0 -.1px 0,-.1px 0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:all .2s;transition:all .2s}.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item:hover .ant-select-selected-icon{color:rgba(0,0,0,.87)}.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item-disabled .ant-select-selected-icon{display:none}.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item-selected .ant-select-selected-icon,.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item-selected:hover .ant-select-selected-icon{display:inline-block;color:#ec7259}.ant-select-dropdown--empty.ant-select-dropdown--multiple .ant-select-dropdown-menu-item{padding-right:12px}.ant-select-dropdown-container-open .ant-select-dropdown,.ant-select-dropdown-open .ant-select-dropdown{display:block}.ant-empty{margin:0 8px;font-size:14px;line-height:22px;text-align:center}.ant-empty-image{height:100px;margin-bottom:8px}.ant-empty-image img{height:100%}.ant-empty-image svg{height:100%;margin:auto}.ant-empty-description{margin:0}.ant-empty-footer{margin-top:16px}.ant-empty-normal{margin:32px 0;color:rgba(0,0,0,.25)}.ant-empty-normal .ant-empty-image{height:40px}.ant-empty-small{margin:8px 0;color:rgba(0,0,0,.25)}.ant-empty-small .ant-empty-image{height:35px}._3kWNZz{text-align:center;padding:24px}.WVHbKq{font-size:24px;font-weight:500;margin-bottom:8px}._3eFswX{font-size:16px;color:#969696;margin-top:8px}._3eFswX>span{color:#da9e55}._1VQzqI{text-align:center;padding:24px 64px}._19gUNB{font-size:16px;font-weight:600;text-align:center;margin:16px 0}._1tunN3{display:flex;justify-content:space-between;align-items:center;height:72px;border-top:1px solid #eee}body.reader-night-mode ._1tunN3{border-color:#2f2f2f}._3ktw48{font-size:14px}._1iwqfH{font-size:28px;font-weight:500;float:right;color:#ec7259}._3b3lMj{font-size:14px}._1YY-Yc{font-size:12px;white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ant-select-selection-selected-value ._1YY-Yc{display:none}._1Ye-SM{margin:24px 0;padding:6px 24px}._1P9XxY{text-align:left;font-size:13px;color:#969696}._3osc0S{display:block;margin-top:16px;margin-bottom:24px;text-align:center}._2APodt,._3-CPZ-{margin-bottom:12px}._3-CPZ-{font-size:16px;color:#da9d55;font-weight:400}._1FUlTu{font-size:14px;font-weight:500;margin-bottom:12px}.ekdgh6{font-size:14px;color:#969696;margin-bottom:16px}.aC6MAl,.wRHiXR{font-size:14px;font-weight:normal;padding:6px 20px}.wRHiXR{margin-bottom:12px}._2-fY2z,.AH8pQV{font-size:16px;color:#ea6f5a;font-weight:400;margin-bottom:12px}._2-fY2z{cursor:pointer}._1kCBjS{justify-content:space-between;font-size:14px;color:#969696;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._1kCBjS,._3BUZPB,._18vaTa{display:flex;align-items:center}._3BUZPB>span{margin-left:8px}._3BUZPB:not(:last-child){margin-right:12px}._2Bo4Th{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:#969696;border:1px solid #eee;border-radius:50%;font-size:18px;cursor:pointer}body.reader-night-mode ._2Bo4Th{border-color:#2f2f2f}._3Nksh7{background-color:#ec7259;color:#fff}._3Nksh7,body.reader-night-mode ._3Nksh7{border-color:#ec7259}._1LOh_5{cursor:pointer}._1LOh_5 .anticon{font-size:12px}._1x1ok9{cursor:pointer}._1x1ok9 .anticon{font-size:16px}._1yN79W{background-color:#f2f2f2}._1yN79W:-ms-input-placeholder{color:#999}._1yN79W::-ms-input-placeholder{color:#999}._1yN79W::placeholder{color:#999}body.reader-night-mode ._1yN79W{background-color:#333}._3uZ5OL{text-align:center;padding:48px 64px}._2PLkjk{display:flex;justify-content:center;align-items:center;margin-bottom:24px}._2R1-48{min-width:50px;min-height:50px;width:50px;height:50px;border-radius:50%;border:1px solid #eee}._2h5tnQ{font-size:24px;font-weight:500;margin-left:16px}._1-bCJJ{flex-wrap:wrap}._1-bCJJ,.LMa6S_{display:flex;justify-content:center}.LMa6S_{align-items:center;width:162.5px;height:56px;font-size:16px;color:#969696;margin-bottom:12px;margin-right:12px;border-radius:10px;border:1px solid #eee;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.reader-night-mode .LMa6S_{border-color:#2f2f2f}.LMa6S_._1vONvL{color:#ec7259}.LMa6S_._1vONvL,body.reader-night-mode .LMa6S_._1vONvL{border-color:#ec7259}.LMa6S_._1sSZ6C{cursor:not-allowed;color:#969696;opacity:.5}.LMa6S_>i{font-size:20px}.LMa6S_>span{font-size:28px;font-style:italic}.LMa6S_:nth-child(3n){margin-right:0}.LMa6S_:nth-last-child(-n+3){margin-bottom:0}.LMa6S_:last-child{margin-right:0}._2ByDWa{position:relative;font-size:28px}._2ByDWa>span{font-size:16px;font-style:normal;opacity:1}._2ByDWa>input{position:absolute;top:50%;left:50%;width:100%;height:36px;margin:0 auto;text-align:center;transform:translate(-50%,-50%);background-color:transparent;opacity:0;cursor:pointer}._2ByDWa>input::-webkit-inner-spin-button,._2ByDWa>input::-webkit-outer-spin-button{display:none}._2ByDWa._1vONvL>span{opacity:0}._2ByDWa._1vONvL>input{opacity:1;cursor:text}._3PA8BN>i{font-size:30px}._3PA8BN>span{font-size:16px;font-style:normal;margin-left:4px}._3PA8BN,._3PA8BN._1vONvL{color:#404040}body.reader-night-mode ._3PA8BN,body.reader-night-mode ._3PA8BN._1vONvL{color:#b3b3b3}._1yN79W{display:block;width:100%;height:80px;resize:none;margin-top:12px;padding:12px;border:none;border-radius:10px}._1_B577{font-size:15px;margin:12px 0}._3A-4KL{margin-top:24px;font-size:18px;font-weight:normal;padding:10px 48px}._16AzcO{color:#ea6f5a;font-size:16px;font-weight:500;text-align:center;width:100%}._6S_NkV{text-align:center;margin:16px 0 6px}._1Fh20G{font-size:14px;font-weight:400;color:#404040}.AOo9OJ{color:#b3b3b3}.l8ZVfE{width:100%;height:1px;background:#eee;margin-bottom:20px}._3lGDiG{background:#2f2f2f}._25hm0R{width:110px;height:110px;border:none}.d0hShY{display:flex;align-items:center;background-color:#fafafa;border-radius:4px;padding:12px 16px}body.reader-night-mode .d0hShY{background-color:#333}._1bPVBH{position:relative}._27NmgV{border-radius:50%;border:1px solid #eee;min-width:50px;min-height:50px;width:50px;height:50px}body.reader-night-mode ._27NmgV{border-color:#2f2f2f}.Xc3Gu8{width:70px;height:70px;position:absolute;left:-10px;top:-10px}.Uz-vZq{flex-grow:1;margin:0 12px;overflow:hidden}.Cqpr1X{display:flex;align-items:center;margin-bottom:2px}.HC3FFO{flex-shrink:0;font-size:16px;font-weight:500}._3GlyHK,.HC3FFO{margin-right:6px}._2WEj6j{font-size:14px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lJvI3S{font-size:14px;color:#969696}.lJvI3S>span{margin-right:12px}.lJvI3S>span:last-child{margin-right:0}._3h2LgE{font-size:16px;font-weight:500;margin-top:32px}._2pnG2B{display:flex;align-items:center;margin-top:12px;padding-top:16px;border-top:1px solid #eee}body.reader-night-mode ._2pnG2B{border-color:#2f2f2f}._1UTYGj{width:64px;height:84px;min-width:64px;min-height:84px;border-radius:4px;border:1px solid #eee}body.reader-night-mode ._1UTYGj{border-color:#2f2f2f}._3ZnwgR{flex-grow:1;min-height:84px;margin:0 12px}._2pIEsr{font-size:16px;font-weight:500;margin-bottom:4px}._3MbC71{font-size:14px;color:#666;margin-bottom:4px}._3MbC71>span{margin-right:6px}.NkHoT6{font-size:14px;color:#969696;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}._14FSyQ,.H4XBOO>img{width:24px;height:24px;min-width:24px;min-height:24px;border-radius:50%;border:2px solid #fff}body.reader-night-mode ._14FSyQ,body.reader-night-mode .H4XBOO>img{border-color:#3d3d3d}._13lIbp{display:flex;flex-direction:column;align-items:center;margin:16px 0 32px}._191KSt{font-size:16px;font-weight:500;margin-bottom:16px}._1Segjj,._3zdmIj{color:#666;margin-top:24px}._1Segjj{display:inline-flex}._1Segjj,._14FSyQ{align-items:center}._14FSyQ{color:inherit;display:flex;justify-content:center;color:#969696;background-color:#ececec}._14FSyQ:active,._14FSyQ:hover{color:inherit}body.reader-night-mode ._14FSyQ{background-color:#505050}.H4XBOO:not(:first-child){margin-left:-6px}.H4XBOO:last-of-type{margin-right:6px}.yZLjoN{font-size:14px;color:#666;cursor:pointer}._26JdYM{display:flex}._26JdYM ._3GKFE3{margin-top:0;margin-bottom:48px}._3LHFA-{width:40px;height:40px;border-radius:50%;border:1px solid #eee;margin-right:10px}body.reader-night-mode ._3LHFA-{border-color:#2f2f2f}._3GKFE3{flex-grow:1;margin-top:16px}._1u_H4i{padding:12px 16px;width:100%;height:90px;font-size:13px;border:1px solid #eee;border-radius:4px;background-color:#fafafa;resize:none;display:inline-block;vertical-align:top;outline-style:none}._1u_H4i:-ms-input-placeholder{color:#999}._1u_H4i::-ms-input-placeholder{color:#999}._1u_H4i::placeholder{color:#999}body.reader-night-mode ._1u_H4i{background-color:#333;border-color:#2f2f2f}._3IXP9Q{justify-content:space-between;margin-top:16px;font-size:14px;color:#969696}._3IXP9Q,.SKZUyR{display:flex;align-items:center}.SKZUyR{flex-shrink:0}._3MkVdm{font-size:18px;margin-right:12px}._3MkVdm:hover{color:#7d7d7d}._3Tp4of{flex-shrink:0;display:flex;align-items:center}._2lR7N6{padding:20px 0 30px;--base-color:#dfdfdf}body.reader-night-mode ._2lR7N6{--base-color:#737373}._2lR7N6 ._17_lFi{display:flex;align-items:center;margin-bottom:16px}._2lR7N6 ._17_lFi ._3k5vgx{margin-right:6px;width:38px;height:38px;border-radius:50%;background-color:var(--base-color)}._2lR7N6 ._17_lFi .U36Th9{margin-bottom:6px;height:16px;width:60px;background-color:var(--base-color)}._2lR7N6 ._17_lFi ._9aTHBB{height:12px;width:120px;background-color:var(--base-color)}._2lR7N6 ._1Lq8tt{width:100%;height:16px;margin-bottom:8px;background-color:var(--base-color);animation:_1i8o5w 1s ease-in-out infinite}._2lR7N6 ._1muh0x{animation-delay:-.5s}._2lR7N6 ._3Pu4Wf{display:flex;align-items:center;padding-top:4px;color:var(--base-color);font-size:16px}._2lR7N6 ._3Pu4Wf ._1mcOnW{height:14px;width:40px;margin-left:5px;margin-right:10px;background-color:var(--base-color)}@keyframes _1i8o5w{0%{width:60%}50%{width:100%}to{width:60%}}._1JPdR9{display:flex;justify-content:flex-start;flex-wrap:wrap;width:345px;margin-top:12px}._3K5dOX{flex-shrink:0;width:110px;height:110px;margin-right:5px;margin-bottom:5px;border:1px solid #eee;border-radius:4px;background-position:50%;background-repeat:no-repeat;background-size:contain}body.reader-night-mode ._3K5dOX{border-color:#2f2f2f}._2IUqvs{display:flex;align-items:flex-start}._2IUqvs._3uuww8 ._1K9gkf{padding-bottom:0;border:none}._2IUqvs:last-child ._1K9gkf{margin-bottom:0;padding-bottom:0;border:none}._1_jhXc{width:40px;height:40px;border:1px solid #eee;border-radius:50%;overflow:hidden}body.reader-night-mode ._1_jhXc{border-color:#2f2f2f}._1K9gkf{flex-grow:1;margin-left:10px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #eee}body.reader-night-mode ._1K9gkf{border-color:#2f2f2f}._2ti5br{position:relative;display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._2ti5br:hover ._1NgfK-,._2ti5br:hover ._10lQTl{visibility:visible;opacity:1}._1vPqGj,._3MyyYc{display:block}._1Jvkh4{cursor:pointer;margin-right:16px;color:#b0b0b0}._1Jvkh4:last-of-type{margin-right:0}._1Jvkh4:hover{color:#9c9c9c}._10lQTl{visibility:hidden;opacity:0}._1NgfK-.ant-popover-open{visibility:visible;opacity:1}._2GXD2V._5LkTIL,._2GXD2V:hover{color:#ec7259}._23G05g{display:flex;align-items:center;font-size:15px;font-weight:500}._1xqkrI{margin-top:2px;font-size:12px;color:#969696}._3pyYXB{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;padding:0 2px;font-size:12px;font-weight:normal;color:#ec7259;border:1px solid #ec7259;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._2MHZ2w{margin-left:5px;height:11px;font-size:12px;font-family:PingFangSC,PingFangSC-Regular;font-weight:400;text-align:left;color:#9a9a9a;line-height:11px}._2bDGm4{margin-top:10px;font-size:16px;line-height:1.5;word-break:break-word}._2kvBge{margin-top:20px}._3g0yKR{padding:20px 0 16px;border-top:1px solid #eee}._3g0yKR ._3d_vFY{display:flex}._3g0yKR:last-child{padding-bottom:0}body.reader-night-mode ._3g0yKR{border-color:#2f2f2f}._1Y3RXD{display:inline-flex;font-size:15px;margin:12px 0;color:#0681d0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}._1whZvR{justify-content:flex-start;margin-top:16px;padding-top:16px;border-top:1px solid #eee}._1whZvR ._1Jvkh4{margin-right:12px}body.reader-night-mode ._1whZvR{border-color:#2f2f2f}.WliqwT{color:#969696;padding-left:12px;border-left:1px solid #eee}.T4mGDk{color:#0681d0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}body.reader-night-mode .WliqwT{border-color:#2f2f2f}._13OjNv{display:flex;justify-content:center;margin-top:24px;margin-bottom:8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#969696}._3ubyu9,.LaYREM{display:inline-flex;justify-content:center;align-items:center;width:32px;height:32px;line-height:32px;font-size:14px;margin:0 4px;border:1px solid #eee;border-radius:50%;cursor:pointer}body.reader-night-mode ._3ubyu9,body.reader-night-mode .LaYREM{border-color:#2f2f2f}body.reader-night-mode ._3ubyu9:hover,body.reader-night-mode .LaYREM:hover{background-color:#4a4a4a}._3ubyu9:hover,.LaYREM:hover{background-color:#f2f2f2}._1i9WqE._3ubyu9,.LaYREM._1i9WqE{color:#ec7259;border-color:#ec7259;pointer-events:none}._3ubyu9{width:auto;padding-left:12px;padding-right:12px;border-radius:20px}._10KzV0{display:flex;align-items:center}._10KzV0 ._2R7vBo{margin-left:6px;font-size:14px;font-weight:normal}._2zSaYx{display:flex}._1ekjko,._393S4n{font-size:14px;font-weight:normal;color:#969696;margin-left:12px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.reader-night-mode ._1ekjko{color:#666}._1ekjko._1BIpxf{color:#2d2d2d}body.reader-night-mode ._1ekjko._1BIpxf{color:#969696}._2gPNSa{margin-top:30px;margin-bottom:30px}._1DVmvZ{font-size:12px;font-weight:normal;color:#969696;margin-left:12px;padding:2px 8px;border:1px solid #eee;border-radius:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.reader-night-mode ._1DVmvZ{border-color:#2f2f2f}._1DVmvZ._1BIpxf{color:#fff;background-color:#ec7259;border-color:#ec7259}body.reader-night-mode ._1DVmvZ._1BIpxf{color:#3d3d3d;border-color:#ec7259}._3SnN_k{display:flex;align-items:center;justify-content:space-between;font-size:18px;padding-top:20px;padding-bottom:20px}._3b8Ibd{text-align:center}._3b8Ibd>img{width:169px;height:140px}._3b8Ibd ._1DiGFn{margin-top:28px;margin-bottom:8px;font-size:14px;color:#969696}._3b8Ibd ._1DiGFn ._3QdbM2{color:#ec7259}._23Sbex{position:relative;z-index:0}.CzBQej{position:absolute;bottom:0;right:0;z-index:999;font-size:12px;padding:2px;background:#fff}.-umr26{position:relative;margin-bottom:10px;border-radius:4px;overflow:hidden;cursor:pointer;text-align:center;background:#fff}body.reader-night-mode .-umr26{filter:brightness(.7)}.QrLrqK{display:block;width:100%}._22kSId{position:absolute;display:block;bottom:0;right:0;font-size:12px;padding:2px 6px;background-color:rgba(0,0,0,.5);color:#fff}._4dB-_j{position:fixed;width:100%;height:100%;z-index:999;left:0;top:0}._3piu-W{margin-left:20px}.gK3y9j{height:100px;margin-right:20px}._3ZAn7y,.V2olzi{width:260px;margin-right:0}._3xfnhj,.dHyfbO{height:110px}._2kwoet,._39xVzw{margin-bottom:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}._2kwoet{font-size:14px;margin-top:10px;line-height:22px}._2Bm-Vw{display:flex;align-items:center;padding:20px 0;border-bottom:1px solid #eee;color:#404040;overflow:hidden}body.reader-night-mode ._2Bm-Vw{color:#b3b3b3;border-bottom:1px solid #2f2f2f}._2Bm-Vw:hover{color:inherit}._2nqAzz{min-height:320px}._1Kc1pc{display:flex;align-items:center;justify-content:space-between;padding:20px 0}._1Kc1pc:not(:last-child){border-bottom:1px solid #eee}body.reader-night-mode ._1Kc1pc{border-color:#2f2f2f}._1Kc1pc ._3cgiY6{display:flex;align-items:center}._1MTfTm{min-width:50px;min-height:50px;width:50px;height:50px;border-radius:4px;border:1px solid #eee}body.reader-night-mode ._1MTfTm{border-color:#2f2f2f}._1gXCcE{margin:0 12px}._3puJ3K{display:block;font-size:16px;font-weight:500;margin-bottom:2px}._1AkY7D{font-size:12px;color:#969696}._1v2f0N{height:480px;padding:24px;overflow-y:scroll}._3fC9Lb{display:flex;align-items:center;justify-content:space-between}._2MEVQW{display:block;margin-left:24px;cursor:pointer}._2MEVQW>span{margin-left:4px}._3qtwqN,.q-2pty{display:block;text-align:center;margin:32px 0;color:#969696}._3qtwqN{cursor:pointer}.RtGuHg{padding:24px 0}.saTF2Q{display:flex;align-items:center}._3sAsA5{margin-left:12px;font-size:14px;font-weight:normal;line-height:1;color:#969696;cursor:pointer}._3sAsA5>span{margin-left:3px}._99AOeY{display:flex;padding:16px 0}._99AOeY:not(:last-child){border-bottom:1px solid #eee}body.reader-night-mode ._99AOeY{border-color:#2f2f2f}._3CGUtf{justify-content:center;width:48px;margin-right:16px;font-family:Arial-BoldItalicMT,sans-serif;font-size:22px;font-weight:normal;color:#b3b3b3}._1euQZJ,._3CGUtf{display:flex;align-items:center}._1euQZJ{margin-bottom:4px}._130BbT{display:block;text-align:center;font-size:12px;color:#da9e55;background-color:rgba(218,158,85,.15);margin-left:4px;padding:2px 10px;border-radius:12px;line-height:20px}._1JV12M{font-size:16px;font-weight:500}._1JV12M:hover{text-decoration:underline}.Fm0jls{display:flex;align-items:center;font-size:12px;color:#969696}.Fm0jls ._17ywf4{color:#ec7259;margin-right:8px}._37OvKa{display:flex;align-items:center;justify-content:center;margin-top:16px;margin-bottom:32px}._37OvKa>i{color:#ec7259;font-size:20px;margin-right:8px}._2xV5A4{display:flex;justify-content:space-between;align-items:center;padding:16px 0}._2xV5A4:not(:last-child){border-bottom:1px solid #eee}body.reader-night-mode ._2xV5A4{border-color:#2f2f2f}._1MmGv5{display:flex;align-items:center}._2E7TMH{width:50px;height:50px;border-radius:50%;border:1px solid #eee}._2eSeIY{font-size:16px;font-weight:500;margin-left:12px}._1NZ1BD{margin:32px 0}._2nF7af{display:flex;flex-direction:column}._2nVyQz{margin-bottom:24px}._2CcN3T{font-size:14px;font-weight:400;line-height:18px;padding-left:5px;border-left:4px solid #ec7259}._3S34Y_{flex-grow:1;display:flex;flex-direction:column;justify-content:center;align-items:center;margin:0}._3S34Y_>img{width:144px;height:144px;margin-bottom:12px}._2JdSds{line-height:18px;font-size:14px;font-weight:normal;color:#999;cursor:pointer}._2JdSds>span{margin-left:2px;pointer-events:none}._2Nttfz{display:flex;flex-wrap:wrap}._3s5t0Q,.H7E3vT{flex-shrink:0;display:flex;align-items:center;margin-right:12px;margin-bottom:12px;cursor:pointer}._3s5t0Q{background-color:#f5f5f5;padding:5px 10px 5px 5px;border-radius:4px}body.reader-night-mode ._3s5t0Q{background-color:#4d4d4d}._3s5t0Q .anticon{margin-right:2px;font-size:12px}._1lsejJ{padding:7px 10px}._2vEwGY{flex-shrink:0;width:24px;height:24px;margin-right:8px;border-radius:2px}._2-Djqu{font-size:14px;line-height:20px}.H7E3vT{font-size:14px;color:#999}.H7E3vT .anticon{margin-left:4px;font-size:12px}._29KFEa{display:flex;align-items:center;font-size:14px;font-weight:normal;line-height:18px}._29KFEa .anticon{margin-left:1px;font-size:12px}._1iTR78{margin-bottom:24px}._11jppn{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid #eee}._11jppn:first-child{padding-top:0}._11jppn:last-child{padding-bottom:0;border:none}body.reader-night-mode ._11jppn{border-color:#2f2f2f}.em6wEs,.JB6qEE{overflow:hidden}.em6wEs{font-size:18px;font-weight:500;margin-bottom:4px;color:#404040;text-overflow:ellipsis;white-space:nowrap}body.reader-night-mode .em6wEs{color:#b3b3b3}._2voXH8:active,._2voXH8:hover{text-decoration:underline}._3fvgn4{font-size:14px;color:#666;line-height:22px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}._1pJt6F{margin-top:8px}._1pJt6F,._3IWz1q{display:flex;align-items:center}._34VC_H{width:24px;height:24px;margin-right:4px;border-radius:50%}._3tPsL6{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._3tPsL6,._31hjBO{font-size:13px;color:#969696}._31hjBO{margin-left:12px}._10MMAm{margin-left:20px}._3zGDUj{display:block;flex-shrink:0;width:150px;height:120px;border-radius:4px;border:1px solid hsla(0,0%,50.2%,.1)}._2trud0{display:flex;align-items:center;font-size:14px;font-weight:normal;line-height:18px}._2trud0 .anticon{margin-left:1px;font-size:12px}._11TSfs{margin-bottom:24px}._2gV0VG{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid #eee}._2gV0VG:first-child{padding-top:0}._2gV0VG:last-child{padding-bottom:0;border:none}body.reader-night-mode ._2gV0VG{border-color:#2f2f2f}._1DQsIH,._1G3POF{overflow:hidden}._1G3POF{font-size:18px;font-weight:500;margin-bottom:4px;color:#404040;text-overflow:ellipsis;white-space:nowrap}body.reader-night-mode ._1G3POF{color:#b3b3b3}._3Ic00K:active,._3Ic00K:hover{text-decoration:underline}._3thyvc{font-size:14px;color:#666;line-height:22px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}._1ssFgQ{margin-top:8px}._1ssFgQ,._13xlFy{display:flex;align-items:center}._2ohv2i{width:24px;height:24px;margin-right:4px;border-radius:50%}.xkge7K{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._1ZDYCU,.xkge7K{font-size:13px;color:#969696}._1ZDYCU{margin-left:12px}._1xCTF3{margin-left:20px}.Gjpogz{display:block;flex-shrink:0;width:150px;height:120px;border-radius:4px;border:1px solid hsla(0,0%,50.2%,.1)}._2RWCFH{display:flex;align-items:center;font-size:14px;font-weight:normal;line-height:18px}._2RWCFH .anticon{margin-left:1px;font-size:12px}._3eq_La{margin-bottom:24px}._2DcRGJ{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid #eee}._2DcRGJ:first-child{padding-top:0}._2DcRGJ:last-child{padding-bottom:0;border:none}body.reader-night-mode ._2DcRGJ{border-color:#2f2f2f}._1ATS20,._34oaG3{overflow:hidden}._1ATS20{font-size:18px;font-weight:500;margin-bottom:4px;color:#404040;text-overflow:ellipsis;white-space:nowrap}body.reader-night-mode ._1ATS20{color:#b3b3b3}._37jvJB:active,._37jvJB:hover{text-decoration:underline}._2GZFLj{font-size:14px;color:#666;line-height:22px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}._2GZFLj>p{margin-bottom:0}._19mMB9{margin-top:8px}._2t1QiF,._19mMB9{display:flex;align-items:center}._2bse80{width:24px;height:24px;margin-right:4px;border-radius:50%}.cwEQzo{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._3Q5ric,.cwEQzo{font-size:13px;color:#969696}._3Q5ric{margin-left:12px}._1Jd6Le{margin-left:20px}.gAtnTC{display:block;flex-shrink:0;width:150px;height:120px;border-radius:4px;border:1px solid hsla(0,0%,50.2%,.1)}._2ibkP3{position:fixed;top:0;right:0;left:0;bottom:0;height:100vh;z-index:1100;background-color:rgba(0,0,0,.5);filter:alpha(opacity=50)}body.reader-night-mode ._2ibkP3{background-color:rgba(61,61,61,.75);filter:alpha(opacity=75)}._2jDHp5{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1150;overflow:hidden;outline:0;-webkit-overflow-scrolling:touch}._3C00cT,.L-NY99{background-color:#fff}body.reader-night-mode ._3C00cT,body.reader-night-mode .L-NY99{background-color:#3d3d3d}.L-NY99{height:auto;max-height:100vh;max-width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:zoom-out;transition:transform .2s ease-in-out;transform-origin:0 0}._3G_AE-{transition:none}._3C00cT{position:fixed}._2kc3FH,._2TG34g{position:absolute;top:50%;transform:translateY(-50%);width:60px;height:60px;font-size:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;background-color:rgba(64,64,64,.3);cursor:pointer}._2kc3FH:hover,._2TG34g:hover{background-color:rgba(64,64,64,.5)}body.reader-night-mode ._2kc3FH,body.reader-night-mode ._2TG34g{color:#d9d9d9}._3yUKnr{cursor:not-allowed;opacity:.5}._2TG34g{left:24px}._2kc3FH{right:24px}._2Gw6nl{position:absolute;bottom:32px;left:50%;transform:translate3d(-50%,0,0);padding:6px 16px;border-radius:20px;border:1px solid #fff;background-color:rgba(0,0,0,.4);font-size:14px;color:#fff}body.reader-night-mode ._2Gw6nl{color:#bfbfbf;border-color:#bfbfbf}._2Gw6nl:active,._2Gw6nl:focus,._2Gw6nl:hover{color:#fff}body.reader-night-mode ._2Gw6nl:active,body.reader-night-mode ._2Gw6nl:focus,body.reader-night-mode ._2Gw6nl:hover{color:#bfbfbf}#_1WIPC2{width:100px!important;height:100px!important}._3Pnjry{position:fixed;z-index:98;top:216px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;left:calc((100vw - 1000px)/2 - 78px)}@media screen and (min-width:1921px){._3Pnjry{left:calc((100vw - 1200px)/2 - 78px)}}._1pUUKr{position:relative;flex-direction:column;margin-bottom:16px;cursor:pointer;color:#969696}._1pUUKr,._2VdqdF{display:flex;align-items:center}._2VdqdF{justify-content:center;width:48px;height:48px;font-size:18px;border-radius:50%;box-shadow:0 2px 10px rgba(0,0,0,.05);background-color:#fff}body.reader-night-mode ._2VdqdF{background-color:#404040}.P63n6G{margin-top:4px;font-size:14px;text-align:center;color:#969696;overflow:hidden;height:19px}._2LKTFF{transition:transform .2s}._1fDw5l{position:relative}.t-eN3x{width:20px;height:20px;background-image:url();background-repeat:no-repeat;background-size:contain;top:50%;left:50%;transform:translate(-50%,-50%)}._2hgQZT,.t-eN3x{position:absolute}._2hgQZT{width:162px;height:162px;background-color:#fff;box-shadow:0 0 15px 0 rgba(0,0,0,.15);border-radius:10px;top:-10px;right:-180px;display:flex;justify-content:center;align-items:center;z-index:100;flex-direction:column}._2hgQZT:before{content:"";position:absolute;left:-10px;width:20px;height:100%;background:transparent}._37KUhI{color:#ec7359;text-align:center;font-size:12px;line-height:16px;padding-bottom:2px}._1UOuwd{background-color:#404040}._1UOuwd ._37KUhI{color:#969696}._1B54jP{width:0;height:0;border:10px solid transparent;border-right:12px solid #fff;position:absolute;left:-22px;top:24px}._1HtyfM{border-right:12px solid #404040}._1GPnWJ{display:block;height:19px}._1GPnWJ.RhY_sp{visibility:hidden;opacity:0}._1pUUKr._2Z1aZJ ._2VdqdF{color:#fff;background-color:#ec7259}._1pUUKr._2Z1aZJ .P63n6G{color:#ec7259}._1pUUKr._2Z1aZJ ._2LKTFF{transform:translateY(-19px)}.d2LXgt{width:110px;height:110px}._3PNeGb{width:60px;height:60px;position:absolute}.kYjhJ7{margin-top:60px}._3MOB7g{text-align:center;padding:24px}._1U9mRW{font-size:24px;font-weight:500;margin-bottom:16px}._2rxlQh{font-size:16px;margin-bottom:24px}._2mpYuT{margin-bottom:16px}._21FTIM{display:block;padding:16px 24px}._3qpYUS{margin-bottom:16px}._1I6Gjn{align-items:center;font-size:15px}._1I6Gjn>span{margin:0 8px}._21urAK{display:block;padding:12px 16px;width:100%;height:auto;font-size:14px;border:1px solid #eee;border-radius:4px;background-color:#f2f2f2;resize:none}._21urAK:-ms-input-placeholder{color:#999}._21urAK::-ms-input-placeholder{color:#999}._21urAK::placeholder{color:#999}body.reader-night-mode ._21urAK{background-color:#333;border-color:#2f2f2f}._2MkxS4{text-align:center;padding:41px}._2Q0eC2{color:#ea6f5a;font-size:18px}._2Sn0OY{margin:24px;width:160px;height:160px}._1RuRku{font-size:30px;font-weight:700;word-break:break-word;margin-top:32px}._21bLU4 .ant-back-top{bottom:96px}@media only screen and (max-width:900px){._21bLU4 .ant-back-top{display:none}}._3MyrRP{display:flex;justify-content:center;align-items:center;width:40px;height:40px;border-radius:50%;color:#8c8c8c;font-size:18px;box-shadow:0 1px 3px rgba(26,26,26,.1);background-color:#fff}body.reader-night-mode ._3MyrRP{box-shadow:0 1px 3px rgba(0,0,0,.3);background-color:#3d3d3d}._3yPTTQ{display:flex;align-items:center;justify-content:center;height:40px;margin:0 -24px 20px;font-size:14px;line-height:14px;color:#0681d0;background:#e4f4fe}._3yPTTQ>i{font-size:16px;margin-right:4px}._3yPTTQ .anticon-spin{animation-duration:1.5s}._-0zx5e{font-size:14px;color:#969696;margin:20px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._22e-Te{display:flex;justify-content:center;align-items:center;width:100%;height:94px;position:relative;left:0;top:-94px;z-index:999;margin-bottom:-94px}._377uvg{background:url() 0 0 repeat-x}._24jYYR{background:url() 0 0 repeat-x}.nP21pp{color:#fff;background-color:#ea6f5a;border-color:#ea6f5a;font-size:16px;border-radius:16px}._2C7CDc{width:960px;margin:0 auto;padding-top:80px;text-align:center}._35eZ2j{width:200px}._2Tso_9{font-size:32px;font-weight:500;color:#ec7259;margin-top:16px;margin-bottom:40px}._1aPG4O{font-size:20px;margin-top:4px}._2mcXeT{margin-top:32px}._33ha_L{display:inline-block;text-decoration:none}.xiRCyp{width:125px;height:125px}._3YhoEV{color:#404040;font-size:20px;margin-top:8px}body.reader-night-mode ._3YhoEV{color:#b3b3b3}</style><style data-savepage-href="https://cdn2.jianshu.io/shakespeare/_next/static/css/12.9ae7ce2a.chunk.css" type="text/css">._3Oo-T1{display:flex;align-items:center}._1b5rv9{position:relative}._3T9iJQ{display:block;border-radius:50%;border:1px solid #eee;min-width:45px;min-height:45px;width:45px;height:45px}body.reader-night-mode ._3T9iJQ{border-color:#2f2f2f}._2FH7z2{width:63px;height:63px;position:absolute;top:-9px;left:-9px}._32ZTTG{flex-direction:column;flex-grow:1;overflow:hidden;min-height:45px;margin-left:8px}._2O0T_w,._32ZTTG{display:flex;justify-content:space-between}._2O0T_w{margin-bottom:4px}._2O0T_w,._2v-h3G{align-items:center}._2v-h3G{display:flex;margin-right:4px;overflow:hidden}._2vh4fr{color:#2d2d2d;font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.reader-night-mode ._2vh4fr{color:#b3b3b3}.tzrf9N{padding:2px 12px;font-size:12px}._3jsL5v{margin-left:4px;margin-right:0}._1pXc22{color:#969696;font-size:12px}._26Hhi2{margin-top:16px}._3TNGId{display:block;font-size:14px;line-height:22px;color:#2d2d2d;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}body.reader-night-mode ._3TNGId{color:#b3b3b3}.DfvGP9{font-size:12px;color:#969696}._2ER8Tt:hover{text-decoration:underline}</style><script data-savepage-type="" type="text/plain" charset="utf-8" data-savepage-src="https://cdn2.jianshu.io/shakespeare/_next/static/chunks/12.434204e580c0aaf67073.js"></script><style data-savepage-href="https://cdn2.jianshu.io/shakespeare/_next/static/css/14.6039a995.chunk.css" type="text/css">._1Prj5h{font-size:16px;padding-left:6px;height:18px}._1jW5zV{margin-bottom:12px}._1jW5zV:last-child{margin-bottom:0}._3QmNxJ{font-size:14px;line-height:22px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}._3SxgBd:hover{text-decoration:underline}</style><script data-savepage-type="" type="text/plain" charset="utf-8" data-savepage-src="https://cdn2.jianshu.io/shakespeare/_next/static/chunks/14.67fd207ab4307d2dfc37.js"></script><style data-savepage-href="https://cdn2.jianshu.io/shakespeare/_next/static/css/10.4397f2d5.chunk.css" type="text/css">pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}._2Uzcx_{position:relative;overflow:hidden}._2Uzcx_:hover .VJbwyy{opacity:1;visibility:visible}.VJbwyy{position:absolute;top:6px;right:6px;display:flex;justify-content:center;align-items:center;width:32px;height:24px;cursor:pointer;font-size:14px;padding:0;border:none;border-radius:6px;color:#ccc;background-color:hsla(0,0%,90.2%,.2);box-shadow:0 2px 0 0 rgba(0,0,0,.25);opacity:0;visibility:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:opacity .2s ease-in-out,visibility .2s ease-in-out;z-index:1}.VJbwyy:active{background-color:hsla(0,0%,80%,.2);box-shadow:inset 0 1px 0 0 rgba(0,0,0,.2)}</style><script data-savepage-type="" type="text/plain" charset="utf-8" data-savepage-src="https://cdn2.jianshu.io/shakespeare/_next/static/chunks/10.2cf78c7325c46d8c9df6.js"></script>
<style id="savepage-cssvariables">
  :root {
  }
</style>
<script id="savepage-shadowloader" type="text/javascript">
  "use strict";
  window.addEventListener("DOMContentLoaded",
  function(event) {
    savepage_ShadowLoader(5);
  },false);
  function savepage_ShadowLoader(c){createShadowDOMs(0,document.documentElement);function createShadowDOMs(a,b){var i;if(b.localName=="iframe"||b.localName=="frame"){if(a<c){try{if(b.contentDocument.documentElement!=null){createShadowDOMs(a+1,b.contentDocument.documentElement)}}catch(e){}}}else{if(b.children.length>=1&&b.children[0].localName=="template"&&b.children[0].hasAttribute("data-savepage-shadowroot")){b.attachShadow({mode:"open"}).appendChild(b.children[0].content);b.removeChild(b.children[0]);for(i=0;i<b.shadowRoot.children.length;i++)if(b.shadowRoot.children[i]!=null)createShadowDOMs(a,b.shadowRoot.children[i])}for(i=0;i<b.children.length;i++)if(b.children[i]!=null)createShadowDOMs(a,b.children[i])}}}
</script>
<meta name="savepage-url" content="https://www.jianshu.com/p/3d90d05ed7cd">
<meta name="savepage-title" content="如何为cmake提供package以便于find_package, 以及用VCPKG补充CMake实现快速下载集成 - 简书">
<meta name="savepage-pubdate" content="Wed Nov 17 2021 14:38:18 GMT+0000">
<meta name="savepage-from" content="https://www.jianshu.com/p/3d90d05ed7cd">
<meta name="savepage-date" content="Tue May 14 2024 18:05:01 GMT+0800 (中国标准时间)">
<meta name="savepage-state" content="Standard Items; Retain cross-origin frames; Merge CSS images; Remove unsaved URLs; Load lazy images in existing content; Max frame depth = 5; Max resource size = 50MB; Max resource time = 10s;">
<meta name="savepage-version" content="33.9">
<meta name="savepage-comments" content="">
  </head><body class="" data-new-gr-c-s-check-loaded="14.1172.0" data-gr-ext-installed="" style=""><svg class="wCYvWN" style="display:none;width:0;height:0" width="0" height="0" focusable="false" aria-hidden="true"><symbol id="ic-icon_requests" viewBox="0 0 1024 1024"><path d="M934.4 627.2A38.4 38.4 0 0 1 972.8 665.6v128a140.8 140.8 0 0 1-140.8 140.8H192A140.8 140.8 0 0 1 51.2 793.6V665.6a38.4 38.4 0 1 1 76.8 0v128c0 35.328 28.672 64 64 64h640c35.328 0 64-28.672 64-64V665.6a38.4 38.4 0 0 1 38.4-38.4zM587.4688 91.392l281.8048 244.224a64 64 0 0 1-41.8816 112.384h-148.992V665.6a89.6 89.6 0 0 1-89.6 89.6h-153.6A89.6 89.6 0 0 1 345.6 665.6V448H196.608a64 64 0 0 1-41.8816-112.384l281.8048-244.224a115.2 115.2 0 0 1 150.9376 0zM486.8608 149.4016L230.912 371.2H384a38.4 38.4 0 0 1 38.4 38.4v256c0 7.0656 5.7344 12.8 12.8 12.8h153.6a12.8 12.8 0 0 0 12.8-12.8V409.6a38.4 38.4 0 0 1 38.4-38.4h153.088L537.088 149.4016a38.4 38.4 0 0 0-50.2784 0z"></path></symbol><symbol id="ic-icon_others" viewBox="0 0 1024 1024"><path d="M512 435.2a76.8 76.8 0 1 1 0 153.6 76.8 76.8 0 0 1 0-153.6z m-307.2 0a76.8 76.8 0 1 1 0 153.6 76.8 76.8 0 0 1 0-153.6z m614.4 0a76.8 76.8 0 1 1 0 153.6 76.8 76.8 0 0 1 0-153.6z"></path></symbol><symbol id="ic-icon_money" viewBox="0 0 1024 1024"><path d="M512 51.2a460.8 460.8 0 1 1 0 921.6 460.8 460.8 0 0 1 0-921.6z m0 76.8a384 384 0 1 0 0 768 384 384 0 0 0 0-768zM435.0976 311.3984L510.1568 450.56l75.264-139.52a37.7344 37.7344 0 0 1 49.664-16.0256 33.9456 33.9456 0 0 1 14.7968 47.104l-76.288 135.7824h102.4a29.0304 29.0304 0 1 1 0 58.0608h-127.0272v55.0912h126.976a29.0304 29.0304 0 1 1 0 58.0608h-126.976v49.152a38.8096 38.8096 0 1 1-77.6192 0v-49.152H345.2416a29.0304 29.0304 0 1 1 0-58.0608h126.1056v-55.0912H345.2416a29.0304 29.0304 0 0 1 0-58.0608h101.4272L369.0496 342.784a34.304 34.304 0 0 1 15.0016-48.0768 38.9632 38.9632 0 0 1 51.0464 16.6912z"></path></symbol><symbol id="ic-icon_follows" viewBox="0 0 1024 1024"><path d="M844.8 614.4a38.4 38.4 0 0 1 38.4 38.4v102.4h102.4a38.4 38.4 0 1 1 0 76.8h-102.4512l0.0512 102.4a38.4 38.4 0 1 1-76.8 0l-0.0512-102.4H704a38.4 38.4 0 1 1 0-76.8h102.4v-102.4a38.4 38.4 0 0 1 38.4-38.4z m-370.176-89.6c80.5888 0 158.3104 16.896 227.4816 48.64a38.4 38.4 0 1 1-32.0512 69.7856 468.2752 468.2752 0 0 0-195.3792-41.6256c-175.616 0-327.7312 93.184-378.112 223.9488-13.4144 38.5536-4.7616 57.5488 7.8336 57.5488H665.6a38.4 38.4 0 1 1 0 76.8H104.448c-74.24 0-109.1584-76.8-80.0256-160.768 62.8736-163.1232 244.3264-274.3296 450.2528-274.3296zM460.8 12.8a243.2 243.2 0 1 1 0 486.4 243.2 243.2 0 0 1 0-486.4z m0 76.8a166.4 166.4 0 1 0 0 332.8 166.4 166.4 0 0 0 0-332.8z"></path></symbol><symbol id="ic-icon_comments" viewBox="0 0 1024 1024"><path d="M537.6 51.2a435.2 435.2 0 1 1 0 870.4h-51.2a433.2544 433.2544 0 0 1-209.2544-53.504l-126.976 94.8224a51.2 51.2 0 0 1-81.8688-41.0624v-314.2144A435.2 435.2 0 0 1 486.4 51.2h51.2z m0 76.8h-51.2a358.4 358.4 0 0 0-344.32 458.24c2.048 6.9632 3.072 14.1824 3.072 21.4016v263.168l86.016-64.256a76.8 76.8 0 0 1 82.944-5.7856c52.3264 28.7744 111.104 44.032 172.288 44.032h51.2a358.4 358.4 0 0 0 0-716.8z m89.6 435.2a38.4 38.4 0 1 1 0 76.8h-230.4a38.4 38.4 0 1 1 0-76.8h230.4z m0-204.8a38.4 38.4 0 1 1 0 76.8h-230.4a38.4 38.4 0 0 1 0-76.8h230.4z"></path></symbol><symbol id="ic-icon_chat" viewBox="0 0 1024 1024"><path d="M870.4 153.6a102.4 102.4 0 0 1 102.4 102.4v512a102.4 102.4 0 0 1-102.4 102.4H153.6a102.4 102.4 0 0 1-102.4-102.4V256a102.4 102.4 0 0 1 102.4-102.4h716.8z m0 76.8H153.6a25.6 25.6 0 0 0-25.6 25.6v512a25.6 25.6 0 0 0 25.6 25.6h716.8a25.6 25.6 0 0 0 25.6-25.6V256a25.6 25.6 0 0 0-25.6-25.6z m-113.7664 97.3312a38.4 38.4 0 0 1 47.1552 60.5696l-274.5856 213.9136a38.4 38.4 0 0 1-47.2064 0L208.384 389.12a38.4 38.4 0 1 1 47.2064-60.6208l250.0096 194.7648z"></path></symbol><symbol id="ic-icon_collection" viewBox="0 0 1024 1024"><path d="M819.2 51.2a102.4 102.4 0 0 1 102.4 102.4v707.6864a76.8 76.8 0 0 1-104.192 71.7824L512 816.4864l-305.408 116.5824A76.8 76.8 0 0 1 102.4 861.2864V153.6a102.4 102.4 0 0 1 102.4-102.4h614.4z m0 76.8H204.8a25.6 25.6 0 0 0-25.6 25.6v707.6864l305.408-116.5312a76.8 76.8 0 0 1 54.784 0l305.408 116.5312V153.6a25.6 25.6 0 0 0-25.6-25.6z m-293.6832 105.984a25.6 25.6 0 0 1 8.192 8.192l63.744 102.2464 116.9408 28.9792a25.6 25.6 0 0 1 13.4144 41.3184L650.24 506.9312l8.5504 120.1664a25.6 25.6 0 0 1-35.1232 25.5488L512 607.3856l-111.616 45.2608a25.6 25.6 0 0 1-35.1744-25.5488L373.76 506.9312l-77.568-92.16a25.6 25.6 0 0 1 13.4144-41.3696l116.9408-28.9792L490.2912 242.176a25.6 25.6 0 0 1 35.2256-8.192zM512 352.512l-20.2752 32.512a76.8 76.8 0 0 1-46.6944 33.9456l-37.1712 9.216 24.6784 29.2864a76.8 76.8 0 0 1 17.8176 54.9376l-2.7136 38.1952 35.4816-14.3872a76.8 76.8 0 0 1 57.7536 0l35.4816 14.336-2.7136-38.144a76.8 76.8 0 0 1 17.8176-54.9376l24.6784-29.2864-37.1712-9.216a76.8 76.8 0 0 1-46.6944-33.9456L512 352.512z"></path></symbol><symbol id="ic-icon_help" viewBox="0 0 1024 1024"><path d="M512 51.2a460.8 460.8 0 1 1 0 921.6 460.8 460.8 0 0 1 0-921.6z m0 76.8a384 384 0 1 0 0 768 384 384 0 0 0 0-768zM512 716.8a51.2 51.2 0 1 1 0 102.4 51.2 51.2 0 0 1 0-102.4z m0-481.8944a166.4 166.4 0 0 1 166.4 166.4c0 46.848-26.7264 78.336-79.8208 116.992l-23.552 16.7936a299.008 299.008 0 0 0-18.0736 13.7216c-4.9664 4.1984-6.4 5.9392-6.5536 2.2528v89.088a38.4 38.4 0 1 1-76.8 0V547.84c0.512-23.1936 12.7488-39.936 33.9456-57.7536 6.2464-5.2736 13.1584-10.496 22.7328-17.408 1.2288-0.8704 18.2272-12.9024 23.1424-16.4864 33.9968-24.7296 48.1792-41.472 48.1792-54.8864a89.6 89.6 0 0 0-179.2 0 38.4 38.4 0 0 1-76.8 0A166.4 166.4 0 0 1 512 234.9056z"></path></symbol><symbol id="ic-icon_like" viewBox="0 0 1024 1024"><path d="M921.344 180.5312a269.3632 269.3632 0 0 1 0 377.2928l-372.8896 378.0096a51.2 51.2 0 0 1-72.9088 0l-372.8896-378.0096a269.3632 269.3632 0 0 1 0-377.2928 260.608 260.608 0 0 1 372.1216 0l37.2224 37.7344 37.2224-37.7344a260.608 260.608 0 0 1 372.1216 0zM157.3376 234.496a192.5632 192.5632 0 0 0 0 269.4144L512 863.4368l354.6624-359.5776a192.5632 192.5632 0 0 0 0-269.4144 183.808 183.808 0 0 0-262.7584 0L515.4304 324.096 400.128 443.5968a38.4 38.4 0 0 1-55.2448-53.3504L458.0864 272.896l-37.9904-38.5024a183.808 183.808 0 0 0-262.7584 0z"></path></symbol><symbol id="ic-icon_purchased" viewBox="0 0 1024 1024"><path d="M819.2 51.2a102.4 102.4 0 0 1 102.4 102.4v716.8a102.4 102.4 0 0 1-102.4 102.4H204.8a102.4 102.4 0 0 1-102.4-102.4V153.6a102.4 102.4 0 0 1 102.4-102.4h614.4z m0 76.8H204.8a25.6 25.6 0 0 0-25.6 25.6v716.8a25.6 25.6 0 0 0 25.6 25.6h614.4a25.6 25.6 0 0 0 25.6-25.6V153.6a25.6 25.6 0 0 0-25.6-25.6z m-67.1744 341.0944a38.4 38.4 0 0 1 10.3424 53.3504l-186.112 275.8656a38.4 38.4 0 0 1-53.2992 10.3936l-148.5824-100.1984a38.4 38.4 0 1 1 43.008-63.6928l116.736 78.7456 164.5568-244.0704a38.4 38.4 0 0 1 53.3504-10.3936zM473.6 435.2a38.4 38.4 0 0 1 0 76.8h-179.2a38.4 38.4 0 0 1 0-76.8h179.2z m102.4-179.2a38.4 38.4 0 1 1 0 76.8h-281.6a38.4 38.4 0 0 1 0-76.8h281.6z"></path></symbol><symbol id="ic-icon_logout" viewBox="0 0 1024 1024"><path d="M832 64c70.8096 0 128 58.0608 128 129.4336v45.5168a38.4 38.4 0 1 1-76.8 0v-45.568c0-29.184-23.04-52.5824-51.2-52.5824H243.2c-28.16 0-51.2 23.4496-51.2 52.6336v637.1328c0 29.184 23.04 52.6336 51.2 52.6336h588.8c28.16 0 51.2-23.4496 51.2-52.6336v-45.5168a38.4 38.4 0 0 1 76.8 0v45.568c0 71.3216-57.1904 129.3824-128 129.3824H243.2c-70.8096 0-128-58.0608-128-129.4336V193.4336c0-71.3728 57.1904-129.4336 128-129.4336z m-52.6336 248.064l160.8192 160.8192a38.4 38.4 0 0 1 2.1504 56.32l-162.9184 162.9184a38.4 38.4 0 0 1-54.272-54.272l97.3312-97.3824h-413.696c-13.9264 0-25.4464-14.2336-27.392-32.768l-0.3072-5.632c0-19.3024 10.24-35.2768 23.552-37.9904l4.096-0.4608 413.6448 0.0512-97.28-97.28a38.4 38.4 0 0 1 54.272-54.3232z"></path></symbol><symbol id="ic-icon_wallet" viewBox="0 0 1024 1024"><path d="M870.4 128a102.4 102.4 0 0 1 102.4 102.4v563.2a102.4 102.4 0 0 1-102.4 102.4H153.6a102.4 102.4 0 0 1-102.4-102.4v-563.2a102.4 102.4 0 0 1 102.4-102.4h716.8zM870.4 204.8H153.6a25.6 25.6 0 0 0-25.6 25.6V307.2H358.4a204.8 204.8 0 1 1 0 409.6H128v76.8a25.6 25.6 0 0 0 25.6 25.6h716.8a25.6 25.6 0 0 0 25.6-25.6v-563.2A25.6 25.6 0 0 0 870.4 204.8zM358.4 384H128v256H358.4a128 128 0 1 0 0-256z m-25.6 51.2a76.8 76.8 0 1 1 0 153.6 76.8 76.8 0 0 1 0-153.6z"></path></symbol><symbol id="ic-icon_mine" viewBox="0 0 1024 1024"><path d="M512.3072 549.4272h6.5024-7.168a588.0832 588.0832 0 0 1 28.16 0.6144l6.3488 0.4096c3.6352 0.1536 7.2704 0.4096 10.9056 0.6656l4.864 0.512c62.8736 5.2224 123.2384 20.6336 178.176 45.1584 1.536 0.7168 3.072 1.536 4.608 2.4064l1.8944 0.8704c100.352 46.6432 178.8416 122.6752 215.9616 216.32 29.184 81.664-5.8368 156.416-80.128 156.416l-178.176-0.0512-0.768 0.0512H141.568C67.328 972.8 32.256 898.048 61.44 816.384c37.12-93.6448 115.5584-169.6768 215.9616-216.32l1.9456-0.8704a39.168 39.168 0 0 1 4.608-2.4064c54.8864-24.576 115.2512-39.936 178.1248-45.2608l4.864-0.3584c3.584-0.3072 7.2704-0.5632 10.9056-0.768l6.3488-0.3072a671.5904 671.5904 0 0 1 28.1088-0.6656h-7.1168 6.5024z m370.176 348.672c12.5952 0 21.248-18.4832 7.8336-56.0128-47.0528-118.6304-182.7328-205.568-343.4496-216.7296a229.9392 229.9392 0 0 0-7.9872-0.512l7.9872 0.512a507.6992 507.6992 0 0 0-69.7344 0l7.9872-0.512c-164.1984 8.8576-303.616 96.6144-351.4368 217.2416-13.4144 37.5296-4.7616 55.9616 7.8848 55.9616h740.864zM498.3808 51.2c134.5024 0 243.5584 105.984 243.5584 236.6464 0 130.7136-109.056 236.6464-243.5584 236.6464S254.8736 418.56 254.8736 287.8464 363.9296 51.2 498.432 51.2z m0 74.752c-92.0064 0-166.656 72.4992-166.656 161.8944 0 89.4464 74.6496 161.9456 166.656 161.9456s166.6048-72.4992 166.6048-161.9456c0-89.3952-74.5984-161.8944-166.6048-161.8944z"></path></symbol><symbol id="ic-icon_setting" viewBox="0 0 1024 1024"><path d="M708.864 68.608a102.4 102.4 0 0 1 88.6784 51.2L994.4576 460.8a102.4 102.4 0 0 1 0 102.4l-196.9152 340.992a102.4 102.4 0 0 1-88.6784 51.2h-393.728a102.4 102.4 0 0 1-88.6784-51.2L29.5424 563.2a102.4 102.4 0 0 1 0-102.4l196.9152-340.992a102.4 102.4 0 0 1 88.6784-51.2h393.728z m0 76.8h-393.728a25.6 25.6 0 0 0-22.1696 12.8L96.0512 499.2a25.6 25.6 0 0 0 0 25.6l196.9152 340.992a25.6 25.6 0 0 0 22.1696 12.8h393.728a25.6 25.6 0 0 0 22.1696-12.8l196.9152-340.992a25.6 25.6 0 0 0 0-25.6l-196.9152-340.992a25.6 25.6 0 0 0-22.1696-12.8zM512 345.6a166.4 166.4 0 1 1 0 332.8 166.4 166.4 0 0 1 0-332.8z m0 76.8a89.6 89.6 0 1 0 0 179.2 89.6 89.6 0 0 0 0-179.2z"></path></symbol><symbol id="ic-spinner" viewBox="0 0 1024 1024"><path d="M300.571429 817.90476233q0 30.285714-21.428572 51.714285T227.428571 891.04761933q-29.714286 0-51.428571-21.714286t-21.714286-51.428571q0-30.285714 21.428572-51.714286T227.428571 744.76190433t51.714286 21.428572T300.571429 817.90476233z m284.571428 117.714285q0 30.285714-21.428571 51.714286T512 1008.76190433t-51.714286-21.428571T438.857143 935.61904733t21.428571-51.714285T512 862.47619033t51.714286 21.428572 21.428571 51.714285zM182.857143 533.33333333q0 30.285714-21.428572 51.714286T109.714286 606.47619033t-51.714286-21.428571T36.571429 533.33333333t21.428571-51.714286T109.714286 460.19047633t51.714285 21.428571T182.857143 533.33333333z m686.857143 284.571429q0 29.714286-21.714286 51.428571t-51.428571 21.714286q-30.285714 0-51.714286-21.428572T723.428571 817.90476233t21.428572-51.714286 51.714286-21.428572 51.714285 21.428572 21.428572 51.714286zM318.857143 248.76190433q0 37.714286-26.857143 64.571429t-64.571429 26.857143-64.571428-26.857143-26.857143-64.571429 26.857143-64.571428 64.571428-26.857143 64.571429 26.857143 26.857143 64.571428z m668.571428 284.571429q0 30.285714-21.428571 51.714286T914.285714 606.47619033t-51.714285-21.428571T841.142857 533.33333333t21.428572-51.714286T914.285714 460.19047633t51.714286 21.428571T987.428571 533.33333333z m-365.714285-402.285714q0 45.714286-32 77.714285t-77.714286 32-77.714286-32-32-77.714285 32-77.714286T512 21.33333333t77.714286 32 32 77.714286z m302.857143 117.714285q0 53.142857-37.714286 90.571429T796.571429 376.76190433q-53.142857 0-90.571429-37.428571T668.571429 248.76190433q0-52.571429 37.428571-90.285714t90.571429-37.714286q52.571429 0 90.285714 37.714286t37.714286 90.285714z"></path></symbol><symbol id="ic-alipay" viewBox="0 0 1024 1024"><path d="M1023.795 853.64v6.348a163.807 163.807 0 0 1-163.807 163.807h-696.18A163.807 163.807 0 0 1 0 859.988v-696.18A163.807 163.807 0 0 1 163.807 0h696.181a163.807 163.807 0 0 1 163.807 163.807V853.64z" fill="#009FE9"></path><path d="M844.836 648.267c-40.952-14.333-95.623-34.809-156.846-57.128a949.058 949.058 0 0 0 90.094-222.573H573.325V307.14h245.711v-43.41l-245.71 2.458V143.33H472.173c-18.223 0-21.704 20.476-21.704 20.476v102.38H204.759v40.952h245.71v61.427H245.712v40.952h409.518a805.522 805.522 0 0 1-64.909 148.246c-128.384-42.795-266.186-77.604-354.233-55.08a213.564 213.564 0 0 0-112.003 63.27c-95.418 116.917-26.21 294.034 175.274 294.034 119.989 0 236.087-67.366 325.771-177.73 134.322 65.932 398.666 176.297 398.666 176.297V701.3s-32.352-4.095-178.96-53.033z m-563.702 144.97c-158.893 0-204.759-124.699-126.336-194.112a191.86 191.86 0 0 1 90.913-46.276c93.575-10.238 189.811 35.629 293.624 86.614-74.941 94.598-166.674 153.774-258.2 153.774z" fill="#FFFFFF"></path></symbol><symbol id="ic-wechat-pay" viewBox="0 0 1076 1024"><path d="M410.493712 644.226288c-64.448471 36.97706-74.006881-20.759958-74.006881-20.759958l-80.772173-193.983933c-31.078562-92.178305 26.897497-41.56191 26.897498-41.561909s49.746372 38.732181 87.50193 62.333712c37.732946 23.602608 80.745253 6.927882 80.745254 6.927882l528.043743-250.842313C881.479874 81.578667 720.547129 0 538.352656 0 241.013636 0 0 217.098768 0 484.919453c0 154.046856 79.806318 291.154103 204.11518 380.019214L181.698086 997.56551s-10.92805 38.720336 26.945952 20.759958c25.808892-12.243853 91.603314-56.122953 130.768353-82.82771 61.570288 22.083298 128.651441 34.345455 198.970414 34.345455 297.315331 0 538.378498-217.098768 538.378499-484.924837 0-77.573115-20.313102-150.8338-56.295235-215.861568-168.236416 104.176656-559.545472 346.282128-609.973434 375.167327z" fill="#00cc22"></path></symbol><symbol id="ic-emoji" viewBox="0 0 1024 1024"><path d="M32 512C32 246.90332 246.90332 32 512 32 777.09668 32 992 246.90332 992 512 992 777.09668 777.09668 992 512 992 246.90332 992 32 777.09668 32 512ZM920 512C920 286.66782219 737.33217875 104 512 104 286.66782219 104 104 286.66782219 104 512 104 737.33217875 286.66782219 920 512 920 737.33217875 920 920 737.33217875 920 512ZM667.59732781 584C661.80988156 664.88360937 594.35802594 728.70452469 512 728.70452469 429.64197219 728.70452469 362.19011938 664.88360937 356.40267313 584 401.27447563 599.63467063 454.6818125 608.70452469 512 608.70452469 569.3181875 608.70452469 622.72552156 599.63467063 667.59732781 584L667.59732781 584ZM368 440C394.50966781 440 416 418.50966781 416 392 416 365.49033219 394.50966781 344 368 344 341.49033219 344 320 365.49033219 320 392 320 418.50966781 341.49033219 440 368 440ZM656 440C682.50966594 440 704 418.50966781 704 392 704 365.49033219 682.50966594 344 656 344 629.49033406 344 608 365.49033219 608 392 608 418.50966781 629.49033406 440 656 440Z"></path></symbol><symbol id="ic-dislike" viewBox="0 0 1137 1024"><path d="M771.413333 668.728889c-18.773333 3.015111-25.031111 20.878222-28.16 29.866667v217.884444c0 59.733333-49.948444 107.52-112.412444 107.52a115.427556 115.427556 0 0 1-112.412445-92.558222c-31.857778-190.919111-146.830222-263.850667-230.627555-290.133334a27.420444 27.420444 0 0 1-19.228445-26.168888V37.944889C268.572444 17.066667 285.582222 0 306.631111 0h567.864889c59.335111 11.946667 99.953778 32.824889 128 89.543111l128.113778 429.909333c24.974222 77.653333-15.644444 152.291556-106.211556 149.276445H771.413333z m-605.866666-32.824889H81.180444C37.546667 635.904 0 600.064 0 558.250667V80.611556C0 35.84 34.360889 0 81.180444 0H165.546667c29.297778 0 53.077333 23.779556 53.077333 53.077333v529.749334a53.077333 53.077333 0 0 1-53.077333 53.077333z"></path></symbol><symbol id="ic-close" viewBox="0 0 1024 1024"><path d="M511.99967832 371.66626953L792.60221182 91.06373692a99.19122714 99.19122714 0 0 1 140.33340878 140.33340878L652.33308711 511.99967832l280.60253349 280.6025335a99.19122714 99.19122714 0 1 1-140.33340878 140.33340878L511.99967832 652.33308711l-280.60253262 280.60253349a99.19122714 99.19122714 0 1 1-140.33340878-140.33340878L371.66626953 511.99967832 91.06373692 231.3971457A99.19122714 99.19122714 0 1 1 231.3971457 91.06373692L511.99967832 371.66626953z"></path></symbol><symbol id="ic-right" viewBox="0 0 1024 1024"><path d="M570.461091 506.693818L241.384727 177.524364A93.090909 93.090909 0 1 1 373.015273 45.893818L768 440.878545a93.090909 93.090909 0 0 1 0 131.630546l-394.984727 394.891636A93.090909 93.090909 0 0 1 241.384727 835.770182l329.076364-329.076364z"></path></symbol><symbol id="ic-more" viewBox="0 0 4096 1024"><path d="M3495.04988446 991.9952a481.91759063 481.91759063 0 0 1-483.83758031-479.9976c0-265.19867437 216.71891625-479.9976 483.83758031-479.9976S3978.64746665 246.79892562 3978.64746665 511.9976c0 264.95867531-216.47891719 479.9976-483.59758219 479.9976M2065.61703196 991.9952a481.91759063 481.91759063 0 0 1-483.35758312-479.9976c0-265.19867437 216.47891719-479.9976 483.35758312-479.9976 267.11866406 0 483.59758219 214.79892563 483.59758219 479.9976 0 264.95867531-216.47891719 479.9976-483.59758219 479.9976M622.26424884 991.9952A481.91759063 481.91759063 0 0 1 138.66666665 511.9976C138.66666665 246.79892562 355.14558384 32 622.26424884 32S1105.86183102 246.79892562 1105.86183102 511.9976c0 264.95867531-216.47891719 479.9976-483.59758218 479.9976"></path></symbol><symbol id="ic-toggle" viewBox="0 0 1024 1024"><path d="M350.366755 1023.926863a50.025855 50.025855 0 0 0 50.025855-50.025855V174.803795a73.137215 73.137215 0 0 0-124.47954-52.146834L36.096141 359.109577a50.830365 50.830365 0 0 0-0.731372 71.674471 50.537816 50.537816 0 0 0 71.601334 0.877647l193.301659-189.425388v731.737838c0 27.645867 22.453125 50.025855 50.025855 50.025855z"></path><path d="M720.953024 0.005851a47.246641 47.246641 0 0 0-47.246641 47.246641v799.389761a73.137215 73.137215 0 0 0 124.9915 51.634874l190.522446-191.619503a51.415462 51.415462 0 0 0 1.31647-71.089374 45.783897 45.783897 0 0 0-67.066827-0.292548l-155.343445 165.802066V47.252492A47.246641 47.246641 0 0 0 720.953024 0.005851z"></path></symbol><symbol id="ic-notebook" viewBox="0 0 1024 1024"><path d="M178.390055 120.591045C111.268624 120.591045 56.888889 174.401955 56.888889 240.556383V903.97778C56.888889 970.302855 111.097977 1024 178.390055 1024h545.731364c67.121431 0 121.558049-53.81091 121.558049-120.02222V240.613265c0-66.268192-54.209088-120.02222-121.558049-120.02222H178.390055z m455.117432 301.136319H269.06087a30.147761 30.147761 0 0 1 0-60.238641h364.503499a30.147761 30.147761 0 0 1 0 60.238641z m303.18409 301.136318a30.318409 30.318409 0 0 1-30.375291-30.318409V180.317742c0-66.268192-53.81091-120.02222-121.330519-120.022219H329.697688a30.147761 30.147761 0 0 1 0-60.23864l454.946784 0.056882C885.326618 0.113765 967.009987 80.887013 967.009987 180.602155v511.943118a30.318409 30.318409 0 0 1-30.31841 30.318409z m-303.18409-120.47728H269.06087a30.147761 30.147761 0 1 1 0-60.238641h364.503499a30.147761 30.147761 0 0 1 0 60.238641z"></path></symbol><symbol id="ic-check" viewBox="0 0 1433 1024"><path d="M586.88355555 719.072L1197.82755555 108.128a96 96 0 0 1 135.744 135.744L654.75555555 922.688a96 96 0 0 1-135.744 0L111.68355555 515.456A96 96 0 0 1 247.42755555 379.52l339.456 339.456z"></path></symbol><symbol id="ic-plus" viewBox="0 0 1024 1024"><path d="M437.00000029 437.00000029V136.99999971a74.99999971 74.99999971 0 1 1 149.99999942 0v300.00000058h300.00000058a74.99999971 74.99999971 0 0 1 0 149.99999942H586.99999971v300.00000058a74.99999971 74.99999971 0 0 1-149.99999942 0V586.99999971H136.99999971a74.99999971 74.99999971 0 1 1 0-149.99999942h300.00000058z"></path></symbol><symbol id="ic-pencil" viewBox="0 0 1092 1024"><path d="M597.469867 198.724267L81.92 718.574933 0 1024l309.4528-74.410667 512-521.762133-223.982933-229.102933z m400.861866-37.888L858.5216 17.885867a58.845867 58.845867 0 0 0-84.309333 0L657.2032 137.6256l223.914667 229.1712 117.1456-119.808a61.576533 61.576533 0 0 0 0-86.152533h0.068266zM546.133333 930.884267h546.133334V1024H546.133333v-93.115733z m273.066667-186.1632h273.066667v93.115733h-273.066667v-93.115733z"></path></symbol><symbol id="ic-sugar" viewBox="0 0 1024 1024"><path d="M562.362182 689.338182L352.581818 422.632727a182.737455 182.737455 0 0 1 109.056-85.876363l209.780364 266.612363a182.737455 182.737455 0 0 1-109.056 85.876364z m-28.811637 5.725091a183.296 183.296 0 0 1-193.349818-245.76l193.349818 245.76z m150.248728-118.225455l-193.349818-245.76a183.249455 183.249455 0 0 1 193.349818 245.76zM558.545455 282.065455l-40.215273-150.109091 151.738182-40.680728-13.544728-50.548363-202.333091 54.178909L503.156364 277.550545a235.659636 235.659636 0 0 0-199.493819 345.553455L120.925091 672.069818l13.544727 50.548364 200.704-53.76A236.683636 236.683636 0 0 0 465.454545 744.075636l40.215273 150.155637-151.738182 40.634182 13.544728 50.594909 202.333091-54.225455-48.965819-182.690909a235.613091 235.613091 0 0 0 199.493819-345.553455l182.690909-48.919272-13.544728-50.594909-200.704 53.76A236.683636 236.683636 0 0 0 558.545455 282.065455z m126.882909-32.256l126.464-33.885091-13.544728-50.594909-101.189818 27.136-27.089454-101.189819-50.594909 13.544728 40.680727 151.738181 25.274182-6.74909zM338.618182 776.378182l-126.464 33.885091 13.544727 50.548363 101.189818-27.089454 27.089455 101.143273 50.594909-13.498182-40.680727-151.738182-25.274182 6.749091z m-153.6-67.304727l-50.548364 13.544727 40.680727 151.738182 50.548364-13.498182-40.634182-151.738182z m653.963636-392.052364l50.548364-13.544727-40.680727-151.738182-50.548364 13.544727 40.634182 151.738182z"></path></symbol><symbol id="ic-like" viewBox="0 0 1084 1024"><path d="M728.064 343.943529c-17.648941-2.891294-23.552-20.239059-26.503529-28.912941V104.026353C701.560471 46.200471 654.396235 0 595.425882 0c-53.007059 0-97.28 40.478118-106.134588 89.569882-29.997176 184.862118-138.541176 255.457882-217.630118 280.937412a26.142118 26.142118 0 0 0-18.130823 24.877177v560.067764c0 19.817412 16.022588 35.84 35.84 35.84h535.973647c56.018824-11.565176 94.328471-31.804235 120.892235-86.738823l120.832-416.105412c23.552-75.173647-14.757647-147.395765-100.231529-144.564706h-238.772706z m-571.813647 31.744H76.619294C35.358118 375.687529 0 410.383059 0 450.861176v462.426353c0 43.369412 32.406588 78.004706 76.619294 78.004706h79.631059c27.708235 0 50.115765-22.407529 50.115765-50.115764V425.863529a50.115765 50.115765 0 0 0-50.115765-50.115764z"></path></symbol><symbol id="ic-reply" viewBox="0 0 1092 1024"><path d="M173.24799969 781.568C95.168 781.568 32 723.07200031 32 650.94399969V162.56C32 90.49599969 95.04000031 32 172.99200031 32h742.01599969C992.96 32 1056.00000031 90.49599969 1056.00000031 162.62400031v488.31999938c0 72.06400031-63.36 130.62400031-141.12 130.62400031h-343.68l-287.55200062 196.224a12.79999969 12.79999969 0 0 1-19.968-10.87999969l5.63200031-185.34400031H173.24799969z"></path></symbol><symbol id="ic-shang" viewBox="0 0 1024 1024"><path d="M827.512471 177.88486233c35.056941 0 61.982118 8.914824 79.028705 26.684236 17.950118 17.769412 26.985412 44.453647 26.985412 80.052706 0 17.769412-3.614118 43.610353-10.842353 77.402353-3.553882 17.769412-14.336 65.776941-50.236235 65.776941a48.549647 48.549647 0 0 1-35.056941-15.058824 39.273412 39.273412 0 0 1-3.614118-48.971294c9.938824-30.238118 15.299765-56.922353 15.299765-77.402353 0-26.684235-7.228235-26.684235-13.492706-26.684235H189.861647c-0.843294 0-1.807059 0-3.553882 1.807059-1.807059 1.807059-1.807059 2.650353-1.807059 4.457411v108.483765c0 17.829647-11.685647 39.152941-43.971765 39.152941-31.442824 0-43.128471-21.323294-43.12847-39.152941v-110.230588c0-29.394824 8.071529-50.718118 25.118117-65.837177 16.203294-14.275765 38.610824-21.383529 70.053647-21.383529h54.814118a267.685647 267.685647 0 0 0-27.828706-33.731765c-19.757176-22.287059-14.396235-40.96-9.878588-50.778353 8.071529-15.058824 21.504-23.973647 36.743529-23.973647a43.369412 43.369412 0 0 1 30.59953 13.312c3.614118 3.614118 8.071529 8.914824 13.43247 16.022589 5.421176 7.107765 11.685647 16.022588 18.913883 26.684235 11.625412 17.769412 22.407529 35.538824 32.286117 53.36847h128.421647V75.60533333c0-17.769412 10.842353-39.152941 43.128471-39.152941 32.346353 0 43.971765 21.383529 43.971765 39.152941v102.279529h136.553411c7.168-10.661647 15.239529-21.323294 22.467765-32.88847 9.818353-15.119059 19.696941-32.045176 29.635765-48.971294a45.537882 45.537882 0 0 1 22.407529-23.973647 40.357647 40.357647 0 0 1 30.539294-0.90353c7.228235 2.650353 13.492706 7.107765 18.853647 12.468706a35.659294 35.659294 0 0 1 11.685647 25.780706c0 11.565176-4.457412 27.587765-34.093176 68.487529h32.286118z m-532.540236 341.534118a46.622118 46.622118 0 0 1-30.539294-16.022588 57.825882 57.825882 0 0 1-16.143059-31.081412 169.381647 169.381647 0 0 1-3.614117-40.056471V388.76862733c0-15.119059 1.807059-27.587765 3.614117-37.345882 2.650353-12.468706 8.071529-22.287059 15.23953-30.298353 7.228235-8.854588 17.950118-14.215529 31.442823-15.962353 9.878588-0.903529 19.757176-1.807059 32.346353-1.807059h367.314824c30.539294 0 52.043294 8.011294 65.536 23.130353 11.685647 14.215529 17.950118 35.538824 17.950117 63.126588v46.260706c0 29.394824-6.264471 50.718118-20.660705 64.933647-13.432471 13.372235-34.093176 20.48-62.825412 20.48H326.415059c-12.589176 0-22.467765 0-31.442824-1.807059z m32.346353-129.867294h-0.903529v43.610353c0 5.360941 0.903529 7.107765 1.807059 8.011294h366.411294c-0.903529 0 0-2.650353 0-7.107765v-49.814588H327.318588v5.300706z m577.41553 527.480471c15.299765 11.565176 23.371294 24.877176 19.757176 39.152941 0 16.865882-9.878588 31.984941-26.925176 38.189176a36.743529 36.743529 0 0 1-17.046589 3.614118 64.451765 64.451765 0 0 1-31.442823-9.818353 2255.149176 2255.149176 0 0 0-139.14353-74.691765 2297.976471 2297.976471 0 0 0-155.407058-71.198117c-8.071529-4.397176-33.249882-15.058824-33.249883-39.152942 0-0.843294 0.903529-1.746824 0.90353-3.493647-5.421176 13.312-12.589176 26.684235-19.757177 39.152941-30.539294 53.308235-91.557647 93.364706-180.525176 119.145412-84.389647 24.937412-144.564706 37.345882-184.982588 37.345883-34.153412 0-45.778824-22.226824-45.778824-41.803295 0-8.854588 3.614118-36.442353 44.875294-44.453647 86.196706-11.565176 152.696471-26.684235 199.378824-43.610353 43.971765-16.865882 76.318118-39.152941 96.075294-66.68047 19.757176-27.587765 30.539294-71.137882 31.442823-129.867294 0-19.576471 9.035294-33.792 24.274824-39.996236H272.504471c-6.264471 0-8.975059 0-8.975059 14.21553v176.128c0 24.877176-17.046588 41.803294-43.068236 41.803294-25.178353 0-42.224941-16.022588-42.224941-41.803294v-184.139294c0-29.334588 8.071529-51.621647 23.311059-66.740706 15.299765-15.058824 37.767529-22.226824 68.306824-22.226824h489.411764c33.249882 0 55.717647 7.107765 70.053647 21.38353 13.492706 14.215529 20.660706 36.442353 20.660706 67.584v180.525176c0 24.937412-17.046588 41.803294-43.12847 41.803294-25.118118 0-42.164706-15.962353-42.164706-41.803294v-170.767059a31.503059 31.503059 0 0 0-1.807059-13.312c-1.807059-0.903529-3.614118-0.903529-7.228235-0.903529H524.890353c15.239529 6.204235 25.118118 20.48 25.118118 40.056471 0 37.345882-6.264471 72.884706-17.950118 107.580235 0.903529-0.843294 0.903529-1.807059 1.807059-2.650353 4.457412-8.914824 16.143059-15.119059 29.635764-15.119059 6.264471 0 15.239529 1.807059 54.814118 18.672941l98.785882 46.260706c20.600471 9.758118 40.357647 19.576471 60.114824 28.431059 20.660706 8.914824 40.417882 18.672941 59.271529 28.491294 19.757176 9.758118 35.056941 17.769412 45.778824 23.130353 9.938824 5.300706 16.263529 8.914824 18.913882 9.758118l3.614118 1.807059z"></path></symbol><symbol id="ic-diamond" viewBox="0 0 1026 1024"><path d="M751.144277 307.2l-123.016533-238.933333h159.778133a81.92 81.92 0 0 1 59.1872 25.258666l160.256 167.492267A27.306667 27.306667 0 0 1 987.620011 307.2h-236.475734z m270.506667 111.547733L640.927744 946.039467a27.306667 27.306667 0 0 1-48.128-24.234667L766.504277 375.466667h-56.388266l-170.5984 590.165333a27.306667 27.306667 0 0 1-52.462934 0.034133L315.500544 375.466667H259.112277l174.523734 545.5872a27.306667 27.306667 0 0 1-48.128 24.302933L5.160277 418.747733A27.306667 27.306667 0 0 1 27.346944 375.466667H999.464277a27.306667 27.306667 0 0 1 22.152534 43.281066zM18.301611 261.0176L178.557611 93.525333A81.92 81.92 0 0 1 237.744811 68.266667h159.744L274.506411 307.2H38.030677a27.306667 27.306667 0 0 1-19.729066-46.1824zM453.877077 68.266667h117.896534l122.9824 238.933333H330.894677l122.9824-238.933333z"></path></symbol><symbol id="ic-money" viewBox="0 0 1024 1024"><path d="M884.363636 512C884.363636 306.349242 717.650758 139.636364 512 139.636364 306.349242 139.636364 139.636364 306.349242 139.636364 512 139.636364 717.650758 306.349242 884.363636 512 884.363636 717.650758 884.363636 884.363636 717.650758 884.363636 512ZM46.545455 512C46.545455 254.936553 254.936553 46.545455 512 46.545455 769.063447 46.545455 977.454545 254.936553 977.454545 512 977.454545 769.063447 769.063447 977.454545 512 977.454545 254.936553 977.454545 46.545455 769.063447 46.545455 512ZM470.626262 520.334527 346.368469 520.334527C335.022727 520.334527 325.818182 511.082366 325.818182 499.669243L325.818182 478.939206C325.818182 467.431177 335.018859 458.273923 346.368469 458.273923L459.41918 458.273923 362.752701 343.071299C355.558764 334.497899 356.572921 321.312715 365.315879 313.976502L381.196011 300.65149C390.011671 293.254272 402.96653 294.447111 410.293884 303.179511L512.303444 424.749773 614.313007 303.179511C621.64036 294.447111 634.595221 293.254272 643.410879 300.65149L659.29101 313.976502C668.033969 321.312715 669.048129 334.497899 661.854189 343.071299L565.18771 458.273923 677.63153 458.273923C688.977273 458.273923 698.181818 467.526083 698.181818 478.939206L698.181818 499.669243C698.181818 511.177272 688.981141 520.334527 677.63153 520.334527L553.373738 520.334527 553.373738 582.395136 677.63153 582.395136C688.977273 582.395136 698.181818 591.647297 698.181818 603.060419L698.181818 623.790457C698.181818 635.298486 688.981141 644.455741 677.63153 644.455741L553.373738 644.455741 553.373738 737.562275C553.373738 748.871415 544.025139 758.175739 532.493056 758.175739L491.506944 758.175739C479.797853 758.175739 470.626262 748.946776 470.626262 737.562275L470.626262 644.455741 346.368469 644.455741C335.022727 644.455741 325.818182 635.203579 325.818182 623.790457L325.818182 603.060419C325.818182 591.552391 335.018859 582.395136 346.368469 582.395136L470.626262 582.395136 470.626262 520.334527Z"></path></symbol><symbol id="ic-others" viewBox="0 0 1024 1024"><path d="M232.727273 579.87878833C271.28679 579.87878833 302.545455 548.62012233 302.545455 510.06060633 302.545455 471.50108933 271.28679 440.24242433 232.727273 440.24242433 194.167756 440.24242433 162.909091 471.50108933 162.909091 510.06060633 162.909091 548.62012233 194.167756 579.87878833 232.727273 579.87878833ZM512 579.87878833C550.559516 579.87878833 581.818182 548.62012233 581.818182 510.06060633 581.818182 471.50108933 550.559516 440.24242433 512 440.24242433 473.440484 440.24242433 442.181818 471.50108933 442.181818 510.06060633 442.181818 548.62012233 473.440484 579.87878833 512 579.87878833ZM791.272727 579.87878833C829.832243 579.87878833 861.090909 548.62012233 861.090909 510.06060633 861.090909 471.50108933 829.832243 440.24242433 791.272727 440.24242433 752.713211 440.24242433 721.454545 471.50108933 721.454545 510.06060633 721.454545 548.62012233 752.713211 579.87878833 791.272727 579.87878833Z"></path></symbol><symbol id="ic-requests" viewBox="0 0 1024 1024"><path d="M418.909091 372.363636 418.909091 698.181818 605.090909 698.181818 605.090909 372.363636 696.24367 372.363638 511.582813 151.061383 326.921959 372.363638 418.909091 372.363636ZM325.818182 791.272727 325.818182 465.454545 139.636364 465.454545 512 10.219745 884.363636 465.454545 698.181818 465.454545 698.181818 791.272727 325.818182 791.272727ZM791.549193 930.909091C842.809195 930.909091 884.363636 889.589313 884.363636 837.818182L884.363636 744.727273 977.454545 744.727273 977.454545 884.363636C977.454545 961.482668 914.929478 1024 838.088048 1024L185.911951 1024C108.94196 1024 46.545455 961.32575 46.545455 884.363636L46.545455 744.727273 139.636364 744.727273 139.636364 837.818182C139.636364 889.230871 181.271913 930.909091 232.450806 930.909091L791.549193 930.909091Z"></path></symbol><symbol id="ic-follows" viewBox="0 0 1024 1024"><path d="M742.39037 893.84038533C732.980703 903.25005233 718.025272 903.19522133 708.767223 893.93717233L565.458115 753.71907433C556.207048 744.46800633 556.2434 729.40742933 565.554902 720.09592233L605.034543 682.83743133C614.444209 673.42776433 629.399645 673.48259533 638.657694 682.74064433L728.38723 766.49557833 941.491782 540.05939833C950.503205 531.04797933 965.609342 531.03876833 974.920848 540.35027433L1010.521307 576.49106033C1019.930973 585.90072733 1019.963043 600.76926333 1010.812183 609.92012233L742.39037 893.84038533ZM139.636364 859.15151533C139.636364 859.15151533 140.67734 830.50210333 143.721266 818.93653533 149.029303 798.76835333 158.415813 778.50853133 172.872966 759.57276033 185.195819 743.43246833 200.763606 728.89474933 220.104544 716.30744833 248.816792 697.62118933 341.214879 652.42733033 332.078782 657.40617733 390.138425 625.76575033 412.212292 582.79679733 388.559923 518.84814133 384.958515 509.11105133 363.507092 452.78421333 358.209139 437.93037933 342.817466 394.77685333 333.272371 357.97333033 324.783144 304.62989533 312.248334 225.86538933 369.770254 160.96969733 466.26749 160.96969733 571.044971 160.96969733 629.910798 218.91014833 619.986167 306.71758733 613.807085 361.38656133 604.889014 392.41438433 587.2357 428.78513033 587.680116 427.86951433 552.225592 496.14089933 539.29385 524.72497933L624.108763 563.09615833C635.7853 537.28656933 670.418623 470.59648633 670.983024 469.43366333 693.277635 423.50053933 705.13172 382.25771733 712.48809 317.17282433 728.985321 171.21479033 623.998925 67.87878833 466.26749 67.87878833 313.335459 67.87878833 211.18413 183.12496033 232.849136 319.26053733 242.258212 378.38399033 253.244797 420.74554033 270.528472 469.20365633 276.225846 485.17734633 297.956064 542.23624033 301.249676 551.14114433 307.065226 566.86458533 308.380666 564.30394833 287.532892 575.66524233 282.015993 578.67175233 275.594213 581.88642833 265.97112 586.50462633 270.601051 584.28268633 245.145458 596.43114733 238.070951 599.89143433 212.184458 612.55306833 190.997437 624.18127233 169.326586 638.28490833 140.984774 656.73008533 117.593202 678.57391433 98.881863 703.08175233 60.377931 753.51364533 47.027784 804.23828133 46.549412 840.92027533L46.545455 947.98348733 587.235705 947.98345933 512 859.15151533 139.636364 859.15151533Z"></path></symbol><symbol id="ic-chats" viewBox="0 0 1024 1024"><path d="M124.121212 139.636364C88.436364 139.636364 47.010909 181.527273 46.545455 217.212121L46.545455 799.030305C46.545455 842.472727 88.436364 884.363636 124.121212 876.606059L899.878786 876.606059C935.563636 884.363636 977.454545 842.472727 977.454545 799.030305L977.454545 217.212121C977.454545 181.527273 935.563636 139.636364 899.878786 139.636364L124.121212 139.636364ZM512 473.016869 139.636364 232.727273 884.363636 232.727273 512 473.016869ZM139.636364 791.272727 139.636364 331.612007 512 578.515503 884.363636 331.612007 884.363636 791.272727 139.636364 791.272727Z"></path></symbol><symbol id="ic-comments" viewBox="0 0 1024 1024"><path d="M977.454545 164.91403167C977.454545 113.60050467 935.731963 71.75757567 884.264546 71.75757567L139.735452 71.75757567C88.181004 71.75757567 46.545455 113.46514167 46.545455 164.91403167L46.545455 676.78293967C46.545455 728.09646367 88.22568 769.93939367 139.640844 769.93939367L186.181818 769.93939367 186.181818 956.12121167 512 769.93939367 884.524167 769.93939367C935.858506 769.93939367 977.454545 728.23182767 977.454545 676.78293967L977.454545 164.91403167ZM884.363636 164.84848467L884.363636 676.84848467 502.393986 676.84848467 279.272727 769.93939367 279.272727 676.84848467 139.636364 676.84848467 139.636364 164.84848467 884.363636 164.84848467Z"></path></symbol><symbol id="ic-likes" viewBox="0 0 1024 1024"><path d="M511.646501 852.318427C513.3925 850.741015 516.884503 847.586202 516.884503 847.586202 738.668074 646.043071 808.239081 574.380446 853.64177 489.88787 874.584837 450.913673 884.363636 415.390578 884.363636 379.345455 884.363636 287.398144 813.401856 216.436364 721.454545 216.436364 669.217853 216.436364 616.89613 241.028421 582.874945 280.979901L512 364.209197 441.125053 280.979901C407.103871 241.028421 354.782148 216.436364 302.545455 216.436364 210.598144 216.436364 139.636364 287.398144 139.636364 379.345455 139.636364 415.547805 149.501383 451.227391 170.635978 490.39044 216.182926 574.790321 286.220326 646.813794 507.042118 847.054141 507.042118 847.054141 490.96233 871.005342 511.646501 852.318427ZM512 220.625455 578.083025 164.351628C620.609936 138.33686 670.384463 123.345455 721.454545 123.345455 864.814545 123.345455 977.454545 235.985455 977.454545 379.345455 977.454545 555.287273 819.2 698.647273 579.490909 916.48L512 977.454545 444.509091 916.014545C204.8 698.647273 46.545455 555.287273 46.545455 379.345455 46.545455 235.985455 159.185455 123.345455 302.545455 123.345455 353.615536 123.345455 403.390064 138.33686 445.916975 164.351628L512 220.625455Z"></path></symbol><symbol id="ic-nav-mode" viewBox="0 0 1024 1024"><path d="M194.56 597.333333l-64.853333 166.4c-2.858667 9.088-3.413333 15.786667-1.706667 20.053334 1.706667 4.266667 10.24 6.954667 25.6 8.106666l56.32 4.266667v24.746667a521.557333 521.557333 0 0 0-34.56-1.28c-17.365333-0.298667-40.832-0.426667-70.4-0.426667s-53.034667 0.128-70.4 0.426667c-17.365333 0.298667-28.885333 0.725333-34.56 1.28v-24.746667l53.76-4.266667c18.773333-1.706667 31.872-12.245333 39.253333-31.573333L292.693333 256h41.813334l188.586666 498.346667c3.968 9.685333 7.68 16.213333 11.093334 19.626666 3.413333 3.413333 9.685333 6.528 18.773333 9.386667l46.933333 14.506667v23.893333a1946.538667 1946.538667 0 0 0-99.84-2.56h-71.68c-45.525333 0-82.773333 0.853333-111.786666 2.56v-23.893333l53.76-8.533334c16.512-2.858667 25.898667-6.272 28.16-10.24 2.261333-3.968 1.152-11.648-3.413334-23.04L336.213333 597.333333H194.56z m127.146667-39.253333L271.36 398.506667l-61.44 159.573333h111.786667z m427.52 273.92c-23.338667 0-43.392-4.138667-60.16-12.373333a110.805333 110.805333 0 0 1-40.96-33.706667 146.816 146.816 0 0 1-23.466667-50.346667c-5.12-19.328-7.68-40.106667-7.68-62.293333 0-30.165333 4.565333-56.874667 13.653333-80.213333 9.088-23.338667 21.333333-42.965333 36.693334-58.88a153.6 153.6 0 0 1 53.76-36.266667 171.946667 171.946667 0 0 1 64.853333-12.373333c15.914667 0 29.866667 1.152 41.813333 3.413333 11.946667 2.261333 21.888 4.821333 29.866667 7.68 9.685333 2.858667 17.621333 6.272 23.893333 10.24l56.32-31.573333 7.68 2.56v262.826666c0 22.741333 9.685333 33.578667 29.013334 32.426667 4.565333 0 8.106667-0.725333 10.666666-2.133333s4.992-2.688 7.253334-3.84c2.261333-1.706667 4.266667-3.413333 5.973333-5.12l5.12 11.946666c-4.565333 10.794667-10.538667 20.48-17.92 29.013334-6.272 7.381333-14.634667 14.08-25.173333 20.053333-10.538667 5.973333-23.466667 8.96-38.826667 8.96-25.045333 0-42.794667-7.552-53.333333-22.613333-10.538667-15.061333-15.786667-33.408-15.786667-55.04v-20.48a181.888 181.888 0 0 1-12.373333 36.266666 129.92 129.92 0 0 1-20.053334 31.146667 92.373333 92.373333 0 0 1-29.44 22.186667 93.44 93.44 0 0 1-41.386666 8.533333z m103.253333-196.266667c0-11.946667-0.554667-24.448-1.706667-37.546666a143.872 143.872 0 0 0-7.68-36.266667 66.858667 66.858667 0 0 0-18.346666-27.733333c-8.234667-7.381333-19.498667-11.093333-33.706667-11.093334-7.978667 0-16.341333 2.133333-25.173333 6.4-8.832 4.266667-16.938667 11.221333-24.32 20.906667-7.381333 9.685333-13.525333 22.912-18.346667 39.68-4.821333 16.768-7.253333 37.418667-7.253333 61.866667 0 17.066667 1.28 33.28 3.84 48.64 2.56 15.36 6.698667 28.714667 12.373333 40.106666 5.674667 11.392 12.672 20.352 20.906667 26.88 8.234667 6.528 18.048 9.813333 29.44 9.813334 11.392 0 21.333333-3.712 29.866666-11.093334 8.533333-7.381333 15.786667-17.194667 21.76-29.44 5.973333-12.245333 10.538667-26.325333 13.653334-42.24 3.114667-15.914667 4.693333-32.426667 4.693333-49.493333v-9.386667z"></path></symbol><symbol id="ic-write" viewBox="0 0 1024 1024"><path d="M151.007 942.26766666c-22.993 21.261-64.594 64.683-43.381-35.512 37.218-163.524 447.875-792.517 794.003-852.861 97.053 0-180.459 232.311-180.459 232.311 0 0 95.338 11.846 157.962-54.296-37.533 195.818-214.91 195.149-260.719 210.729 53.59 7.89 93.441 31.594 176.379 7.368-20.222 55.519-100.075 123.839-387.175 191.454-126.92 45.617-233.617 279.547-256.61 300.808z"></path></symbol><symbol id="ic-night" viewBox="0 0 1024 1024"><path d="M386.573124 0C340.147815 173.910685 384.73085 366.612567 521.059141 502.940859 657.387432 639.26915 850.089314 683.852184 1024 637.426876 1001.155802 722.908399 956.572765 804.336916 889.51398 871.395701 686.126909 1074.782772 355.991373 1074.782772 152.6043 871.395701-50.782772 668.00863-50.782772 337.87309 152.6043 134.486017 219.663081 67.427236 301.091602 22.8442 386.573124 0Z"></path></symbol><symbol id="ic-mark" viewBox="0 0 1024 1024"><path d="M268.190476 113.777778C214.552381 113.777778 171.154286 155.291291 171.154286 206.03003L170.666667 967.111111 512 828.732735 853.333333 967.111111 853.333333 206.03003C853.333333 155.291291 809.447617 113.777778 755.809525 113.777778L268.190476 113.777778Z"></path></symbol><symbol id="ic-user" viewBox="0 0 1081 1024"><path d="M803.557507 705.46529267C921.627438 734.68811367 1009.013675 841.17086467 1009.013675 968.09948167L1009.013675 999.65574867 113.777778 999.65574867 113.777778 968.09948167C113.777778 845.98765767 194.87339 742.62628167 306.138642 709.26557267 386.042902 689.94662967 446.772745 624.07875167 455.097973 555.06783567 413.092784 526.09210167 380.671395 482.61667367 369.546671 434.01441967L331.247877 266.69273867C301.999138 138.90939267 384.447284 35.55555567 515.334601 35.55555567L604.020878 35.55555567C735.179184 35.55555567 819.313243 139.39951167 792.544825 267.49752267L757.903491 433.27071867C747.227432 484.36012067 713.120956 529.80140967 668.826761 558.82664367 675.211167 624.51970267 729.457687 683.91321067 803.557507 705.46529267Z"></path></symbol><symbol id="ic-setting" viewBox="0 0 1024 1024"><path d="M846.327484 515.083444C846.327484 499.504829 844.9529 484.842604 843.120122 470.180378L939.799171 394.578276C948.504866 387.705358 950.795839 375.334105 945.297505 365.253825L853.658596 206.718508C848.160262 196.638228 835.78901 192.972672 825.708726 196.638228L711.618281 242.457684C687.792168 224.129902 662.133271 209.009481 634.183401 197.554617L616.772011 76.13306C615.397427 65.136391 605.775343 56.888889 594.320475 56.888889L411.042655 56.888889C399.587791 56.888889 389.965705 65.136391 388.591122 76.13306L371.179729 197.554617C343.22986 209.009481 317.570966 224.588096 293.744849 242.457684L179.654404 196.638228C169.11593 192.514478 157.202871 196.638228 151.704536 206.718508L60.065625 365.253825C54.109096 375.334105 56.858263 387.705358 65.56396 394.578276L162.243011 470.180378C160.410233 484.842604 159.035649 499.963024 159.035649 515.083444 159.035649 530.203865 160.410233 545.324285 162.243011 559.986511L65.56396 635.588614C56.858263 642.461531 54.567291 654.832782 60.065625 664.913067L151.704536 823.448383C157.202871 833.528661 169.574124 837.194217 179.654404 833.528661L293.744849 787.709207C317.570966 806.036986 343.22986 821.15741 371.179729 832.612272L388.591131 947.866943C389.965715 958.86361 399.587801 967.111111 411.042665 967.111111L594.320486 967.111111C605.775349 967.111111 615.397439 958.86361 616.772022 947.866943L634.183401 832.612272C662.133271 821.15741 687.792168 805.578792 711.618281 787.709207L825.708726 833.528661C836.247205 837.652412 848.160262 833.528661 853.658596 823.448383L945.297505 664.913067C950.795839 654.832782 948.504866 642.461531 939.799171 635.588614L843.120122 559.986511C844.9529 545.324285 846.327484 530.662059 846.327484 515.083444ZM502.681566 675.45154C414.250017 675.45154 342.313471 603.514994 342.313471 515.083444 342.313471 426.651895 414.250017 354.71535 502.681566 354.71535 591.113114 354.71535 663.04966 426.651895 663.04966 515.083444 663.04966 603.514994 591.113114 675.45154 502.681566 675.45154L502.681566 675.45154Z"></path></symbol><symbol id="ic-wallet" viewBox="0 0 1081 1024"><path d="M78.590372 320.640733C79.612385 263.784132 108.255224 220.849417 161.254046 208.613675L811.774629 58.429164C843.73446 51.050656 875.603143 70.885317 882.986092 102.864395L930.36408 264.731771C930.36408 264.731771 432.674221 267.670638 193.893052 264.731771 191.508185 264.702418 137.002048 273.909722 137.002047 320.464627L888.060649 320.640726C942.735462 320.640726 988.818119 385.402493 988.818119 439.966797L988.818119 835.991046C988.818119 890.695509 928.709194 947.609862 874.118087 947.609862L193.893052 947.609862C139.218237 947.609862 78.590372 890.555352 78.590372 835.991046L78.590372 320.640733ZM870.350433 600.907349C870.350433 562.701243 839.378261 531.729073 801.172156 531.729073 762.96605 531.729073 731.993879 562.701243 731.993879 600.907349 731.993879 639.113461 762.96605 670.085626 801.172156 670.085626 839.378261 670.085626 870.350433 639.113461 870.350433 600.907349Z"></path></symbol><symbol id="ic-like-filled" viewBox="0 0 1024 1024"><path d="M455.286273 907.310814C215.315919 689.706627 56.888889 546.190377 56.888889 370.056797 56.888889 226.540546 169.651657 113.777778 313.167908 113.777778 394.24527 113.777778 472.0609 151.520688 522.850741 211.163805 573.640585 151.520688 651.45621 113.777778 732.533578 113.777778 876.049829 113.777778 988.812595 226.540546 988.812595 370.056797 988.812595 546.190377 830.385567 689.706627 590.415212 907.776774L522.850741 968.817778 455.286273 907.310814Z"></path></symbol><symbol id="ic-feedback" viewBox="0 0 1024 1024"><path d="M158.037561 937.474543C158.037561 937.474543 428.526853 971.883105 479.47676 768.097638L795.921232 768.097638C859.047925 768.097638 910.222222 716.754256 910.222222 654.123816L910.222222 227.7516C910.222222 164.805596 859.18947 113.777778 796.11115 113.777778L227.888848 113.777778C164.867044 113.777778 113.777778 165.12116 113.777778 227.7516L113.777778 654.123816C113.777778 717.069824 164.241867 768.097638 227.072055 768.097638L285.060607 768.097638C254.825383 906.665296 158.037561 937.474543 158.037561 937.474543ZM284.444444 512 625.777778 512 625.777778 597.333333 284.444444 597.333333 284.444444 512 284.444444 512ZM284.473374 312.888889 739.584484 312.888889 739.584484 398.222222 284.473374 398.222222 284.473374 312.888889 284.473374 312.888889Z"></path></symbol><symbol id="ic-signout" viewBox="0 0 1024 1024"><path d="M376.88888867 568.888889L746.66666667 568.888889 632.88888867 682.666667 703.99999967 755.238935 945.77777767 540.444444 945.77777767 483.555556 703.99999967 270.947385 632.88888867 341.333333 746.66666667 455.111111 376.88888867 455.111111 376.88888867 568.888889ZM489.07269967 113.777778L489.07269967 227.888848 206.20427767 227.888848 206.20427767 796.111167 489.07269967 796.111167 489.07269967 910.222222 206.20427967 910.222222C143.37645767 910.222222 92.44444467 859.18947 92.44444467 796.11115L92.44444467 227.888848C92.44444467 164.867044 143.37274867 113.777778 206.20427967 113.777778L489.07269967 113.777778Z"></path></symbol><symbol id="ic-nav-discover" viewBox="0 0 1024 1024"><path d="M13.3565216 512C13.3565216 236.60633067 236.60633067 13.3565216 512 13.3565216S1010.6434784 236.60633067 1010.6434784 512 787.39366933 1010.6434784 512 1010.6434784 13.3565216 787.39366933 13.3565216 512z m926.05217387 0a427.40869547 427.40869547 0 1 0-854.81739094 0 427.40869547 427.40869547 0 0 0 854.81739094 0z m-321.3638496-253.548336c120.29180267-82.53736853 173.6704-39.4165792 119.4369856 95.9295072l-104.9525792 261.6691008-217.9784352 148.8332064c-120.434272 82.1574496-175.90242347 37.70694507-124.13848107-98.6364288l93.93493333-247.42214507 233.65008747-160.37324053zM512 583.23478293a71.23478293 71.23478293 0 1 0 0-142.46956586 71.23478293 71.23478293 0 0 0 0 142.46956586z"></path></symbol><symbol id="ic-nav-notification" viewBox="0 0 1024 1024"><path d="M513.024 1001.828174A111.88313 111.88313 0 0 0 625.39687 890.434783H400.695652a111.88313 111.88313 0 0 0 112.328348 111.393391z m-320.823652-489.293913v5.030956c0 43.408696-13.445565 84.591304-36.062609 122.301218-8.013913 13.312-16.562087 25.154783-25.065739 35.350261-4.897391 5.921391-8.592696 9.794783-10.329043 11.486608l-3.250087 3.650783C57.433043 768.934957 96.478609 845.913043 196.118261 845.913043h634.434782c99.906783 0 135.43513-75.063652 74.306783-153.11026l-1.736348-2.181566-2.048-1.869913a180.535652 180.535652 0 0 1-11.53113-11.976347 298.206609 298.206609 0 0 1-27.603478-36.151653c-24.709565-38.021565-39.357217-79.070609-39.357218-121.366261 0-2.31513 0-4.630261 0.089044-6.945391l-0.044522-76.755478c0-132.096-84.591304-258.626783-189.350957-283.202783C624.951652 91.447652 571.65913 44.521739 507.458783 44.521739 437.426087 44.521739 395.931826 92.16 382.085565 151.863652 268.332522 200.214261 192.333913 310.761739 192.333913 435.556174v63.933217c-0.133565 3.116522-0.133565 6.233043-0.089043 13.089392z m65.80313-72.525913c0-105.427478 67.31687-198.210783 166.199652-232.848696l21.99374-7.657739v-29.028174c0-33.124174 27.38087-60.237913 61.261913-60.237913 33.836522 0 61.217391 27.113739 61.217391 60.237913v29.028174l21.993739 7.702261C689.508174 241.797565 756.869565 334.625391 756.869565 440.05287l0.089044 77.06713-0.089044 7.568696c0 56.765217 18.788174 109.968696 49.775305 158.230261 18.432 28.672 36.953043 49.597217 49.997913 61.618086l-3.739826-4.096c28.093217 36.285217 22.216348 48.88487-22.394435 48.88487H196.118261c-45.456696 0-53.426087-15.894261-26.178783-52.001391l-3.250087 3.695304c12.02087-11.798261 29.072696-32.411826 45.946435-60.816696 28.226783-47.549217 45.278609-100.396522 45.278609-157.250782v-5.431652l0.044522-11.842783V440.008348z"></path></symbol><symbol id="ic-nav-follow" viewBox="0 0 1024 1024"><path d="M725.25913 780.14701467L721.474783 780.05797067H868.173913c24.620522 0 44.521739-19.945739 44.521739-44.744347V134.71536267A44.521739 44.521739 0 0 0 868.08487 89.97101467H155.91513C131.33913 89.97101467 111.304348 110.00579667 111.304348 134.71536267v600.598261A44.432696 44.432696 0 0 0 155.737043 780.05797067h146.832696l-3.784348 0.089044c69.053217-3.873391 154.757565 43.186087 213.036522 106.184348 51.778783-60.594087 125.373217-111.170783 213.437217-106.184348zM44.521739 735.31362367V134.71536267A111.482435 111.482435 0 0 1 155.91513 23.18840567h712.16974A111.304348 111.304348 0 0 1 979.478261 134.71536267v600.598261a111.34887 111.34887 0 0 1-111.304348 111.526956h-146.69913c-66.960696-3.784348-172.78887 74.885565-201.861566 145.67513-4.541217 11.130435-10.685217 10.596174-15.449043-0.756869-29.606957-70.611478-134.90087-148.702609-201.594435-144.918261H155.737043A111.215304 111.215304 0 0 1 44.521739 735.31362367zM489.73913 179.01449267h44.52174V735.53623167h-44.52174V179.01449267z m333.913044 178.086957V290.31884067H623.304348v66.782609h200.347826zM623.304348 512.92753667h200.347826v-66.782609H623.304348V512.92753667zM200.347826 357.10144967H400.695652V290.31884067H200.347826v66.782609z m0 155.826087H400.695652v-66.782609H200.347826V512.92753667z"></path></symbol><symbol id="ic-nav-download" viewBox="0 0 1024 1024"><path d="M222.608696 133.342609C222.608696 84.279652 262.41113 44.521739 311.785739 44.521739h400.428522C761.455304 44.521739 801.391304 84.680348 801.391304 133.342609v757.314782A88.909913 88.909913 0 0 1 712.214261 979.478261H311.785739A89.266087 89.266087 0 0 1 222.608696 890.657391V133.342609zM445.217391 912.695652c0-12.288 9.616696-22.26087 22.038261-22.260869h89.488696c12.154435 0 22.038261 10.329043 22.038261 22.260869 0 12.288-9.616696 22.26087-22.038261 22.26087h-89.488696a22.394435 22.394435 0 0 1-22.038261-22.26087zM289.391304 845.913043h445.217392V111.304348h-445.217392V845.913043zM356.173913 489.73913l155.826087 184.141913L667.826087 489.73913h-89.043478V356.173913h-133.565218v133.565217H356.173913z"></path></symbol><symbol id="ic-paid" viewBox="0 0 1024 1024"><path d="M511.850132 0C229.23293 0 0.000088 229.132871 0.000088 511.850044s229.132871 511.850044 511.850044 511.850044 511.850044-229.232842 511.850044-511.850044-229.132871-511.850044-511.850044-511.850044z m226.833545 576.031241c29.191448 0 52.984477 23.693059 52.984477 52.884506 0 14.195841-5.398418 27.491946-15.195548 37.289076-9.997071 9.997071-23.293176 15.39549-37.588988 15.395489H564.034843v173.649127c0 29.091477-23.593088 52.584594-52.484623 52.584594-29.091477 0-52.884506-23.693059-52.984478-52.684565V681.800254H285.016587c-29.191448 0-52.884506-23.693059-52.884507-52.884507s23.693059-52.884506 52.884507-52.884506h173.449185V454.766768H284.816646c-29.191448 0-52.884506-23.593088-52.884507-52.584595s23.693059-52.584594 52.884507-52.584594H474.161173L330.703202 205.939666c-10.097042-9.997071-15.595431-23.193205-15.595431-37.289075 0-14.09587 5.498389-27.491946 15.595431-37.489017 9.997071-9.997071 23.093234-15.39549 37.189105-15.39549 14.09587 0 27.292004 5.498389 37.289075 15.595431l116.46588 116.465879L637.813229 131.261544c9.997071-10.097042 23.193205-15.595431 37.389046-15.595431 14.09587 0 27.192034 5.498389 37.189104 15.39549 20.493996 20.593967 20.593967 54.184126 0 74.678122L569.23332 349.597579h169.350386c29.191448 0 52.984477 23.593088 52.984477 52.584594 0 27.591916-21.493703 50.285268-48.685736 52.484624h-178.947574V576.131212h174.748804v-0.099971z"></path></symbol></svg><div id="__next"><header style="width:100%"><div class="_1CSgtu"><div class="_2oDcyf"><a class="_1AawTM _1OhGeD" data-savepage-href="/" href="https://www.jianshu.com/" aria-label="简书" target="_blank" rel="noopener noreferrer"><svg class="wCYvWN" style="width:60px;height:30px" width="60" height="30" focusable="false" aria-hidden="true" viewBox="0 0 106 50" version="1.1"><g><path d="M79.6542664,49.2735656 L75.6602511,49.6932377 L75.6602511,27.3313525 L59.1137321,27.3313525 C58.6314725,27.3313525 57.9655336,26.8821721 57.8498237,26.1776639 L57.5346557,23.1870902 L75.6602511,23.1887295 L75.6602511,12.1260246 L62.1759992,12.1260246 C61.6180832,12.0858607 61.0229458,11.7788934 60.8894344,10.9870902 L60.5819534,7.93790984 L75.6602511,7.93790984 L75.6602511,0.409631148 L81.2074496,0.409631148 L81.2074496,7.93790984 L97.4727855,7.93790984 L97.4727855,23.1887295 L103.836831,23.1887295 L103.836831,38.1235656 C103.836831,42.2026639 100.70174,44.4715164 97.7187702,44.4715164 L92.357274,44.4715164 C91.6217473,44.4715164 91.0290374,43.9440574 90.9659229,43.3719262 L90.6681519,40.5223361 L92.1274725,40.5223361 L95.7933733,40.5223361 C97.0864115,40.5223361 98.3321137,39.6739754 98.3321137,38.1235656 L98.3321137,27.3313525 L81.2074496,27.3313525 L81.2074496,47.4452869 C81.2074496,48.5985656 80.4148771,49.1264344 79.6542664,49.2735656 L79.6542664,49.2735656 Z M81.260045,22.917418 L91.9745412,22.917418 L91.9745412,12.0514344 L81.260045,12.0514344 L81.260045,22.917418 Z M104.57519,13.9920082 L100.167289,13.9920082 C99.5871214,9.9170082 97.5274038,5.26987705 95.0355947,1.96209016 L100.167289,1.96209016 C102.583037,4.95553279 104.693327,8.85922131 105.720556,12.5608607 C105.867015,13.1711066 105.472144,13.9920082 104.57519,13.9920082 L104.57519,13.9920082 Z"></path><path d="M4.98236412,12.0515574 L9.99834885,12.0515574 C11.3953641,13.8056557 12.3169977,15.077377 13.7310053,18.5515574 C13.8337687,18.8339344 13.9130664,20.2007377 12.5900893,20.2007377 L8.57624962,20.2007377 C7.43047863,15.8630328 6.43521145,14.337623 4.97831832,12.0540164 C3.51980687,13.0105738 1.86507405,13.8138525 -4.04580153e-05,14.3802459 L-4.04580153e-05,10.3880328 C2.35987557,9.24172131 4.08662366,7.6892623 5.34608168,5.85278689 C6.43399771,4.2654918 7.18206641,2.47901639 7.58300534,0.409754098 L11.8043947,0.409754098 C12.772555,0.409754098 13.2313489,1.06877049 13.0962191,1.56139344 C12.9129443,2.1392623 12.5342573,2.99377049 12.1640664,3.78270492 L25.2676084,3.78270492 L25.0038221,6.30278689 C24.9370664,6.85483607 24.5227763,7.57532787 23.6181351,7.57532787 L17.5377,7.57532787 C18.2930511,9.24336066 18.7571046,10.7601639 18.9112496,11.3568852 C19.0508298,11.9036066 18.7004634,12.7810656 17.765074,12.7810656 L13.9850817,12.7810656 C13.7127992,10.9581148 13.4073412,9.70811475 12.633784,7.57532787 L9.82963893,7.57532787 C8.54266947,9.20852459 6.93891374,10.7679508 4.98236412,12.0515574 L4.98236412,12.0515574 Z M14.1651198,43.4847541 L14.1651198,22.1413115 L34.8367382,22.1413115 L34.8367382,36.8896721 C34.9253412,41.1093443 31.729158,43.4847541 28.4929214,43.4847541 L14.1651198,43.4847541 Z M35.3776618,49.3056557 C34.6793565,49.3056557 34.1008069,48.7921311 34.0028985,48.0851639 L33.669929,45.2757377 L38.4682496,45.2372131 C39.5310817,45.2372131 40.5696389,44.5277869 40.5696389,42.9769672 L40.5696389,18.4761475 L16.1390664,18.4761475 C15.6288908,18.4761475 15.0078603,18.2769672 14.819326,17.2298361 L14.5478527,14.3802459 L45.940845,14.3802459 L45.940845,43.4048361 C45.940845,45.4257377 44.1275168,49.2339344 39.6552878,49.3056557 L35.3776618,49.3056557 Z M6.84505115,49.2904918 L3.0626313,49.6933607 L3.0626313,20.2007377 L8.42250916,20.2007377 L8.42250916,47.3646721 C8.42250916,48.0146721 8.09399008,49.0794262 6.84505115,49.2904918 L6.84505115,49.2904918 Z M41.1040893,12.617541 L37.1335397,12.617541 C36.8025931,10.8986885 36.5436618,9.44581967 35.7462344,7.47942623 L32.2174863,7.47942623 C31.3132496,8.52245902 30.2645779,9.69581967 28.8404557,10.8204098 C27.3799214,11.9736885 25.5018603,13.1154918 22.9704023,13.9917213 L22.9704023,9.96672131 C27.0331962,7.6904918 29.0237305,4.6007377 29.9906771,0.409754098 L34.2080206,0.409754098 C35.3258756,0.409754098 35.6547992,1.21385246 35.5848069,1.4892623 C35.3121198,2.35811475 34.9075397,2.9892623 34.6032954,3.70360656 L48.620784,3.70360656 L48.3602344,6.23434426 C48.2724405,6.99745902 47.669616,7.47942623 47.0243107,7.47942623 L40.7173107,7.47942623 C41.4892496,9.14459016 41.945616,10.3318852 42.1398145,11.2503279 C42.223158,11.6478689 41.9775779,12.5761475 41.1040893,12.617541 L41.1040893,12.617541 Z M19.1422649,39.6040164 L27.579784,39.6040164 C29.230471,39.6040164 29.861616,38.5290164 29.861616,37.3347541 L29.861616,34.5634426 L19.1693718,34.5589344 L19.1422649,39.6040164 Z M19.1422649,30.6786066 L29.8620206,30.6786066 L29.8620206,26.0220492 L19.1422649,26.0220492 L19.1422649,30.6786066 Z"></path></g></svg></a><div class="_7hb9O4"><i aria-label="ic-nav-mode" tabindex="-1" class="anticon _1nZg8v"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-nav-mode"></use></svg></i><span class="_1jKNin" aria-label="简书钻"><svg class="wCYvWN" style="width:54px;height:24px" width="54" height="24" focusable="false" aria-hidden="true" viewBox="0 0 50 22" version="1.1"><g transform="translate(1.000000, 4.000000)" fill="#EA6F5A" stroke="#EA6F5A" stroke-width="0.5"><path d="M6.97355121,0.977899795 L5.71487604,5.02704222 L14.0382941,5.02704222 L12.7812515,0.977899795 L6.97355121,0.977899795 Z M5.94914309,0.977899795 L5.39898286,0.977899795 C5.34645865,0.977985274 5.29616908,0.99894266 5.25940216,1.03606786 L1.33563333,5.02704222 L4.69046792,5.02704222 L5.94914309,0.977899795 Z M8.80687445,13.8613144 L4.56068234,5.99650966 L1.40664806,5.99650966 L8.80687445,13.8613144 Z M5.67079793,5.99650966 L9.99290234,14.0010793 L14.0962487,5.99650966 L5.67079793,5.99650966 Z M6.61929374,0.00843234872 L14.581108,0.00843234872 C14.8986337,0.00843234872 15.2014667,0.135271015 15.4234898,0.359864308 L19.6476429,4.6562209 C20.0841892,5.10085541 20.0917287,5.80620568 19.6647844,6.25988166 L10.8491606,15.6281688 C10.4068293,16.0970986 9.66444122,16.1231211 9.18970108,15.6863369 C9.1594994,15.6580607 9.1594994,15.6580607 9.13093026,15.6281688 L0.315306487,6.25988166 C-0.111412478,5.80599166 -0.10351395,5.10063881 0.333264249,4.6562209 L4.55741731,0.359864308 C4.7786002,0.135221626 5.08206407,0.00849721138 5.39898286,0.00843234872 L6.62011001,0.00843234872 L6.61929374,0.00843234872 Z M13.8056596,0.977899178 L15.0643348,5.02704222 L18.6452738,5.02704222 L14.721505,1.03606786 C14.6845399,0.998742398 14.6339153,0.977768057 14.581108,0.977899795 L13.8056596,0.977899178 Z M11.1487286,13.8879747 L18.5742591,5.99650966 L15.1949366,5.99650966 L11.1487286,13.8879747 Z"></path></g><g transform="translate(19.000000, 5.000000)"><path d="M5.16425826,0.266666667 C3.98605079,0.266666667 3.03092493,1.22179253 3.03092493,2.4 L3.03092493,8.73301908 L2.96783132,8.90526634 L1.31769477,10.8555055 C1.236217,10.9518012 1.19150756,11.0738592 1.19150756,11.2 C1.19150756,11.4945519 1.43028903,11.7333333 1.72484089,11.7333333 L26.5448138,11.7333333 C27.7230213,11.7333333 28.6781471,10.7782075 28.6781471,9.6 L28.6781471,2.4 C28.6781471,1.22179253 27.7230213,0.266666667 26.5448138,0.266666667 L5.16425826,0.266666667 Z" stroke="#EA6F5A" stroke-width="0.533333333" fill="#EA6F5A"></path><path d="M6.79203604,2 L7.57631592,2 L7.57631592,4.96927224 C7.96845586,4.26091644 8.52725527,3.9115903 9.25271416,3.9115903 C9.96836954,3.9115903 10.5369725,4.17358491 10.9487194,4.71698113 C11.3212523,5.20215633 11.5173223,5.80377358 11.5173223,6.54123989 C11.5173223,7.29811321 11.3212523,7.91913747 10.9487194,8.40431267 C10.527169,8.92830189 9.94876255,9.2 9.21350016,9.2 C8.42922028,9.2 7.87042087,8.87978437 7.52729842,8.2393531 L7.52729842,9.06415094 L6.79203604,9.06415094 L6.79203604,2 Z M9.08605468,4.55202156 C8.62529025,4.55202156 8.25275731,4.72668464 7.97825935,5.09541779 C7.6841544,5.45444744 7.54690542,5.92991914 7.54690542,6.51212938 L7.54690542,6.60916442 C7.54690542,7.17196765 7.6743509,7.62803235 7.92924186,7.97735849 C8.20373982,8.36549865 8.60568326,8.55956873 9.11546518,8.55956873 C9.66446109,8.55956873 10.076208,8.35579515 10.350706,7.96765499 C10.5859899,7.61832884 10.7134354,7.14285714 10.7134354,6.54123989 C10.7134354,5.93962264 10.5859899,5.47385445 10.331099,5.13423181 C10.0467975,4.74609164 9.6350506,4.55202156 9.08605468,4.55202156 Z M14.6250313,3.9115903 C15.4387217,3.9115903 16.0563421,4.18328841 16.468089,4.72668464 C16.840622,5.21185984 17.0366919,5.90080863 17.0562989,6.77412399 L13.0564716,6.77412399 C13.0956856,7.33692722 13.242738,7.77358491 13.517236,8.08409704 C13.7917339,8.39460916 14.1740704,8.54986523 14.6544418,8.54986523 C15.0661888,8.54986523 15.4093112,8.44312668 15.6642022,8.2393531 C15.8798791,8.06469003 16.0465386,7.80269542 16.1739841,7.45336927 L16.958264,7.45336927 C16.840622,7.93854447 16.6151415,8.32668464 16.2720191,8.63719677 C15.8504686,9.00592992 15.3112762,9.2 14.6544418,9.2 C13.9289829,9.2 13.340773,8.9574124 12.9094191,8.4916442 C12.4584582,8.006469 12.2427812,7.36603774 12.2427812,6.5509434 C12.2427812,5.81347709 12.4486547,5.19245283 12.8800086,4.69757412 C13.3113625,4.17358491 13.8897689,3.9115903 14.6250313,3.9115903 Z M14.6446383,4.56172507 C14.1936774,4.56172507 13.8309479,4.70727763 13.55645,4.99838275 C13.281952,5.28948787 13.1250961,5.67762803 13.0760786,6.17250674 L16.2426086,6.17250674 C16.1445736,5.09541779 15.6053812,4.56172507 14.6446383,4.56172507 Z M19.3307106,2.42695418 L19.3307106,4.04743935 L20.5855584,4.04743935 L20.5855584,4.69757412 L19.3307106,4.69757412 L19.3307106,7.89002695 C19.3307106,8.07439353 19.3601211,8.21024259 19.4385491,8.28787062 C19.5071736,8.36549865 19.634619,8.41401617 19.811082,8.41401617 L20.4581129,8.41401617 L20.4581129,9.06415094 L19.69344,9.06415094 C19.2816931,9.06415094 18.9777846,8.9574124 18.8013217,8.74393531 C18.6346622,8.54986523 18.5562342,8.26846361 18.5562342,7.89002695 L18.5562342,4.69757412 L17.5366704,4.69757412 L17.5366704,4.04743935 L18.5562342,4.04743935 L18.5562342,2.74716981 L19.3307106,2.42695418 Z M23.6638569,3.9115903 C24.3893158,3.9115903 24.9187047,4.09595687 25.2716307,4.47439353 C25.5657356,4.80431267 25.7225916,5.26037736 25.7225916,5.8425876 L25.7225916,9.06415094 L24.9873292,9.06415094 L24.9873292,8.21994609 C24.7912592,8.4916442 24.5265648,8.7245283 24.2030493,8.89919137 C23.8305164,9.09326146 23.408966,9.2 22.9482015,9.2 C22.4384196,9.2 22.0266727,9.06415094 21.7325677,8.81185984 C21.4188558,8.54986523 21.2619998,8.20053908 21.2619998,7.7541779 C21.2619998,7.11374663 21.5168907,6.64797844 22.0364762,6.35687332 C22.4482231,6.11428571 23.016826,5.98814016 23.7226779,5.98814016 L24.9383117,5.97843666 L24.9383117,5.81347709 C24.9383117,4.96927224 24.4971543,4.55202156 23.6148394,4.55202156 C23.212896,4.55202156 22.8893805,4.6296496 22.6540966,4.80431267 C22.3992056,4.97897574 22.2423496,5.23126685 22.1835286,5.58059299 L21.4090523,5.58059299 C21.4874803,5.00808625 21.7325677,4.58113208 22.1541181,4.29973046 C22.5266511,4.03773585 23.0266295,3.9115903 23.6638569,3.9115903 Z M24.9383117,6.58975741 L23.7716954,6.59946092 C22.6344896,6.59946092 22.0658867,6.98760108 22.0658867,7.74447439 C22.0658867,7.98706199 22.1541181,8.19083558 22.3403846,8.34609164 C22.5266511,8.4916442 22.7815421,8.56927224 23.114861,8.56927224 C23.6246429,8.56927224 24.0559969,8.41401617 24.4187263,8.10350404 C24.7618487,7.79299191 24.9383117,7.43396226 24.9383117,7.02641509 L24.9383117,6.58975741 Z" fill="#FFFFFF"></path></g></svg></span><a data-savepage-href="/sign_in" href="https://www.jianshu.com/sign_in" target="_blank" class="_2MpoKb _1OyPqC _1AT95S _2WY0RL" role="button" tabindex="-1"><span>登录</span></a><a data-savepage-href="/sign_up" href="https://www.jianshu.com/sign_up" target="_blank" class="_2MpoKb _1OyPqC _3Mi9q9 _2WY0RL" role="button" tabindex="-1"><span>注册</span></a><a data-savepage-href="/writer" href="https://www.jianshu.com/writer" target="_blank" class="_1OyPqC _3Mi9q9 _2WY0RL _1YbC5u" role="button" tabindex="-1"><i aria-label="ic-write" style="margin-right:2px" class="anticon"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-write"></use></svg></i><span>写文章</span></a></div><div class="_1YyUun"><div class="_2RZATq"><nav class="_3JYrtj"><a class="hM7XFL _1OhGeD" data-savepage-href="/" href="https://www.jianshu.com/">首页</a><img class="_1sMkbX" data-savepage-src="https://www.jianshu.com/bn-static/assets/web/banner/I4VX2OPoh3QuIN.svg" src="" alt=""><a class="hM7XFL _1OhGeD" data-savepage-href="/apps?utm_medium=desktop&utm_source=navbar-apps" href="https://www.jianshu.com/apps?utm_medium=desktop&utm_source=navbar-apps">下载APP</a><a class="hM7XFL _1OhGeD" data-savepage-href="/vips" href="https://www.jianshu.com/vips">会员</a><a class="hM7XFL _1OhGeD" data-savepage-href="/techareas" href="https://www.jianshu.com/techareas">IT技术</a></nav><div class="MoRCpo"><div class="_31TNvD"><input type="search" class="_2q13cl G1b3UE" value="" placeholder="搜索" aria-label="搜索专题"><span class="x6-7Eb" role="button" tabindex="-1" aria-label="搜索"><i aria-label="icon: search" class="anticon anticon-search"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="search" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0 0 11.6 0l43.6-43.5a8.2 8.2 0 0 0 0-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"></path></svg></i></span></div></div></div></div></div><div class="_3t3lfz"><div class="FTZkZo"><div class="_16zCst"><h1 class="_2zeTMs" title="如何为cmake提供package以便于find_package, 以及用VCPKG补充CMake实现快速下载集成">如何为cmake提供package以便于find_package, 以及用VCPKG补充CMake实现快速下载集成</h1></div><div class="_26qd_C"><a class="qzhJKO" data-savepage-href="/u/92039eec654b" href="https://www.jianshu.com/u/92039eec654b"><img class="_2JlnTn" data-savepage-src="https://upload.jianshu.io/users/upload_avatars/1621860/da33e628f3cf?imageMogr2/auto-orient/strip|imageView2/1/w/80/h/80/format/webp" src="" alt=""><span class="_22gUMi">生活简单些</span></a><button data-locale="zh-CN" type="button" class="_1OyPqC _3Mi9q9"><span>关注</span></button><button type="button" class="_1OyPqC _3Mi9q9 _1YbC5u"><span>赞赏支持</span></button></div></div></div></div><div class="VYwngI"></div></header><div class="_21bLU4 _3kbg6I"><div class="_3VRLsv" role="main"><div class="_gp-ck"><section class="ouvJEz"><div class="adad_container"><script data-savepage-type="text/javascript" type="text/plain" src=""></script></div><h1 class="_1RuRku">如何为cmake提供package以便于find_package, 以及用VCPKG补充CMake实现快速下载集成</h1><div class="rEsl9f"><div class="_2mYfmT"><a class="_1qp91i _1OhGeD" data-savepage-href="/u/92039eec654b" href="https://www.jianshu.com/u/92039eec654b" target="_blank" rel="noopener noreferrer"><img class="_13D2Eh" data-savepage-src="https://upload.jianshu.io/users/upload_avatars/1621860/da33e628f3cf?imageMogr2/auto-orient/strip|imageView2/1/w/96/h/96/format/webp" src="" alt=""></a><div style="margin-left: 8px;"><div class="_3U4Smb"><span class="FxYr8x"><a class="_1OhGeD" data-savepage-href="/u/92039eec654b" href="https://www.jianshu.com/u/92039eec654b" target="_blank" rel="noopener noreferrer">生活简单些</a></span><button data-locale="zh-CN" type="button" class="_3kba3h _1OyPqC _3Mi9q9 _34692-"><span>关注</span></button><span class="_3URWaO">IP属地: 江苏</span></div><div class="s-dsoj"><span class="_3tCVn5"><i aria-label="ic-diamond" class="anticon"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-diamond"></use></svg></i><span>0.494</span></span><time datetime="2021-11-17T14:38:18.000Z">2021.11.17 22:38:18</time><span>字数 3,549</span><span>阅读 6,342</span></div></div></div></div><article class="_2rhmJa"><h1>1. CMake带来的改变</h1>
<h2>1.1 依赖关系的思维转变：用仓库的概念代替目录层级依赖</h2>
<p><strong>层级依赖:</strong></p>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-ruby"><code class="  language-ruby">├── <span class="token constant">TaihuApp</span>
│       └── <span class="token constant">Qt</span><span class="token punctuation">:</span><span class="token punctuation">:</span><span class="token constant">Quick</span>
│       └── <span class="token constant">Qt5</span><span class="token punctuation">:</span><span class="token punctuation">:</span><span class="token constant">Core</span>
│       └── <span class="token constant">Qt5</span><span class="token punctuation">:</span><span class="token punctuation">:</span><span class="token constant">Widgets</span>
│       └── opencv ─────────────────────────────────┐ 
│       └── logger ─────────────────┐           <span class="token operator">|</span>
│       └── gtest ────────────────┐ <span class="token punctuation">[</span>duplicate<span class="token punctuation">]</span>     <span class="token operator">|</span>
│       └── camera            <span class="token operator">|</span>     <span class="token operator">|</span>       <span class="token punctuation">[</span>duplicate<span class="token punctuation">]</span>
│               └── opencv     ───<span class="token operator">|</span>─────<span class="token operator">|</span>───────────┘   
│               └── baumer        <span class="token operator">|</span>     <span class="token operator">|</span>           
│               └── tucsen  <span class="token punctuation">[</span>duplicate<span class="token punctuation">]</span> <span class="token operator">|</span>           
│               └── protocol      <span class="token operator">|</span>     <span class="token operator">|</span>           
│               └── logger ───<span class="token operator">|</span>─────┘   
│               └── gtest ────────┘
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<p><strong>扁平依赖:</strong></p>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-ruby"><code class="  language-ruby">├── <span class="token constant">Repository</span> ────<span class="token operator">&gt;</span>──<span class="token operator">&gt;</span>──<span class="token operator">&gt;</span>──────│ 
│       └── <span class="token constant">Qt</span><span class="token punctuation">:</span><span class="token punctuation">:</span><span class="token constant">Quick</span>           <span class="token operator">|</span>
│       └── <span class="token constant">Qt5</span><span class="token punctuation">:</span><span class="token punctuation">:</span><span class="token constant">Core</span>           <span class="token operator">|</span>
│       └── <span class="token constant">Qt5</span><span class="token punctuation">:</span><span class="token punctuation">:</span><span class="token constant">Widgets</span>        <span class="token operator">|</span>────────── <span class="token constant">First</span> <span class="token constant">Project</span>
│       └── camera              <span class="token operator">|</span>
│       └── logger              <span class="token operator">|</span>
│       └── gtest               <span class="token operator">|</span>────────── <span class="token constant">Second</span> <span class="token constant">Project</span>
│       └── opencv              <span class="token operator">|</span>
│       └── baumer              <span class="token operator">|</span>
│       └── tucsen              <span class="token operator">|</span>────────── <span class="token constant">Other</span> project
│       └── protocol            <span class="token operator">|</span>
│       └── any other libs      <span class="token operator">|</span>
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<blockquote>
<p>图一：在每个项目里都存放一套自身需要的依赖库，类似离线式依赖包含关系；<br>
图二：camera依赖了opencv、baumer等别的库，但不存在包含关系，仓库里所有库的依赖关系都是通过配置进行关联的，本质所有的库都在项目之外的仓库里存放的。</p>
</blockquote>
<h2>1.2 简洁优雅的库依赖集成方式</h2>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-cmake"><code class="cmake  language-cmake">project(camera VERSION 1.0.0)

find_package(protocol REQUIRED)
find_package(logger REQUIRED)
find_package(timer REQUIRED)
find_package(opencv REQUIRED)
find_package(baumer REQUIRED)
find_package(tucsen REQUIRED)

aux_source_directory(. SRC_LIST)
add_library(${PROJECT_NAME} STATIC ${SRC_LIST})

target_link_libraries(${PROJECT_NAME} PRIVATE
    protocol
    smt-logger
    smt-timer
    baumer
    tucsen
    opencv)

target_include_directories(${PROJECT_NAME} PUBLIC
    $&lt;BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include&gt;
    $&lt;INSTALL_INTERFACE:include&gt;)
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<blockquote>
<p>建议用<code>target_include_directory()</code>代替<code>include_directory()</code>，如果当前也是一个对外提供api的库</p>
</blockquote>
<h2>1.3 依赖库版本控制（vcpkg赋能）</h2>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-json"><code class="json  language-json"><span class="token punctuation">{</span>
  <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"project"</span><span class="token punctuation">,</span>
  <span class="token property">"version-string"</span><span class="token operator">:</span> <span class="token string">"1.0.0"</span><span class="token punctuation">,</span>
  <span class="token property">"supports"</span><span class="token operator">:</span> <span class="token string">"(x64 | arm64) &amp; (linux | osx | windows)"</span><span class="token punctuation">,</span>
  <span class="token property">"dependencies"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
    <span class="token punctuation">{</span> <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"zlib"</span><span class="token punctuation">,</span> <span class="token property">"version&gt;="</span><span class="token operator">:</span> <span class="token string">"1.2.11#9"</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
    <span class="token punctuation">{</span> <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"fmt"</span><span class="token punctuation">,</span> <span class="token property">"version&gt;="</span><span class="token operator">:</span> <span class="token string">"7.1.3#1"</span> <span class="token punctuation">}</span>
  <span class="token punctuation">]</span>
<span class="token punctuation">}</span>
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<blockquote>
<p>允许指定当前库的对外名字、版本、适用于哪些平台系统、以及依赖哪些别的库甚至那些库的指定版本</p>
</blockquote>
<h1>2. 自己的库如何能被find_pakcage(xxx)</h1>
<p>cmake有两种方式让<code>find_package(xxx)</code> 能找到库，如果没有找到会报错，如下：</p>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-cmake"><code class="cmake  language-cmake">find_package(OpenCV)出现错误如下：

CMake Warning at CMakeLists.txt:37 (find_package):
  By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "OpenCV", but
  CMake did not find one.

  Could not find a package configuration file provided by "OpenCV" with any of
  the following names:

    OpenCVConfig.cmake
    OpenCV-config.cmake

  Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set "OpenCV_DIR"
  to a directory containing one of the above files.  If "OpenCV" provides a
  separate development package or SDK, be sure it has been installed.
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<p><strong>简单翻译下：</strong></p>
<p>  cmake优先会以<code>Moudule</code>模式寻找，即：搜索<code>CMAKE_MODULE_PATH</code>指定路径下的<code>FindXXX.cmake</code>文件，默认路径按系统平台区分如下：</p>
<ul>
<li>windows： <code>C:/Program Files/CMake/share/cmake-3.xx/Modules</code>
</li>
<li>linux: <code>/usr/share/cmake-3.xx/Modules</code>
</li>
</ul>
<p>  一旦找到了<code>FindXXX.cmake</code>, 则此库一般会提供以下变量，目的是方便调用者快速集成它：</p>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-xml"><code class="xml  language-xml"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>NAME</span><span class="token punctuation">&gt;</span></span>_FOUND
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>NAME</span><span class="token punctuation">&gt;</span></span>_INCLUDE_DIRS or <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>NAME</span><span class="token punctuation">&gt;</span></span>_INCLUDES 
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>NAME</span><span class="token punctuation">&gt;</span></span>_LIBRARIES or <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>NAME</span><span class="token punctuation">&gt;</span></span>_LIBS
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span></span></code></pre></div>
<p>  如果没能找到<code>FindXXX.cmake</code>, 则尝试以<code>Config</code>模式：搜索指定路径下的<code>XXXConfig.cmake</code>或者<code>XXX-config.cmake</code>文件，搜索路径优先是cmake install的路径：</p>
<ul>
<li>windows: <code>C:/Program Files</code>
</li>
<li>linux: <code>/usr/local</code>
</li>
</ul>
<blockquote>
<p>当然也支持在项目里通过<code>CMAKE_PREFIX_PATH</code>指定了寻找路径，或者直接通过设置XXX_DIR告知准确的查找路径。其实，还有一种做法是通过指定toolchain让cmake统一从<code>toolchain</code>里寻找。</p>
</blockquote>
<h2>2.1 Config方式</h2>
<p>  这是一种基于有项目源码的方式，需要为cmake组织的项目提供完整的<code>install</code>脚本，当执行<code>install</code>时候会在<code>install</code>目的地的lib目录下创建<code>share</code>目录，并在<code>share</code>目录里自动生成<code>XXXConfig.cmake</code>或者<code>xxx-config.cmake</code>等配置文件</p>
<p>  <code>cmake install</code>的脚本相对比较通用，已经被我整理并抽取出来了，一般只要加在cmake项目的实现模块的<code>CMakeList.txt</code>最下面即可，如下：</p>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-cmake"><code class="cmake  language-cmake"># ============================== install script ==============================
set(HEADERS ${CMAKE_SOURCE_DIR}/include/swc_camera.h)
set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${HEADERS}")

# Install the target and create export-set
install(TARGETS ${PROJECT_NAME}
    EXPORT ${PROJECT_NAME}Targets
    LIBRARY DESTINATION lib
    ARCHIVE DESTINATION lib
    RUNTIME DESTINATION bin
    PUBLIC_HEADER DESTINATION include)

# Generate the version file for the config file
include(CMakePackageConfigHelpers)
write_basic_package_version_file(
    ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
    VERSION ${PACKAGE_VERSION}
    COMPATIBILITY SameMajorVersion)

# Exporting Targets from the Build Tree
install(EXPORT ${PROJECT_NAME}Targets
    DESTINATION "lib/cmake/${PROJECT_NAME}")

# Create config file
configure_package_config_file(
    ${CMAKE_SOURCE_DIR}/Config.cmake.in ${PROJECT_NAME}Config.cmake
    INSTALL_DESTINATION "lib/cmake/${PROJECT_NAME}")

# Install config files
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
    ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
    DESTINATION "lib/cmake/${PROJECT_NAME}")
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<blockquote>
<p>可以通过设置 <code>CMAKE_INSTALL_PATH</code>指定库安装的位置，cmake install library的命令是<code>cmake --build ./ --target install</code>， 在linux下配合make可以简化为<code>make install</code>，这是makefile支持的：</p>
</blockquote>
<p>cmake --build ./ --target install执行后如下：</p>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-cmake"><code class="cmake  language-cmake">PS E:\swc-camera\build&gt; cmake --build ./ --target install
Microsoft (R) Build Engine version 16.11.1+3e40a09f8 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

  swc-camera.vcxproj -&gt; E:\swc-camera\build\src\Debug\swc-camera.lib
  example.vcxproj -&gt; E:\swc-camera\build\example\Debug\example.exe
  tests.vcxproj -&gt; E:\swc-camera\build\tests\Debug\tests.exe
  -- Install configuration: "Debug"
  -- Up-to-date: E:/LOCAL_REPOSITORY/lib/swc-camera.lib
  -- Up-to-date: E:/LOCAL_REPOSITORY/include/swc_camera.h
  -- Up-to-date: E:/LOCAL_REPOSITORY/lib/cmake/swc-camera/swc-cameraTargets.cmake      
  -- Up-to-date: E:/LOCAL_REPOSITORY/lib/cmake/swc-camera/swc-cameraTargets-debug.cmake
  -- Up-to-date: E:/LOCAL_REPOSITORY/lib/cmake/swc-camera/swc-cameraConfig.cmake       
  -- Up-to-date: E:/LOCAL_REPOSITORY/lib/cmake/swc-camera/swc-cameraConfigVersion.cmake
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<h2>2.2 Module方式</h2>
<p>  这是一种当第三方库仅仅提供了编译好的binary库时候, 有时候有些库编译过程非常复杂且依赖多而且非常耗时，我们也可以用这种方式，为了让<code>find_package(xxx)</code>找到它的方式。我们需要写一个对应的<code>FindXXX.cmake</code>，在<code>FindXXX.cmake</code>里会指定尝试寻找库所在的路径，一般非常主流的库cmake的modules目录会提供，但以下三种情况需要自己编写<code>FindXXX.cmake</code>：</p>
<ul>
<li>cmake的modules目录里提供的<code>FindXXX.cmake</code>描述的版本号和要用的不一致</li>
<li>非大众库，如baumer或者tucsen，cmake是不可能提供<code>FindXXX.cmake</code>的</li>
</ul>
<blockquote>
<p>在linux/mac系统里，大众库的FindXXX.cmake一般存在<code>/usr/share/cmake-3.xx/Modules</code>  <br>
在windows系统里，大众库的FindXXX.cmake存在<code>C:\Program Files\CMake\share\cmake-3.xx\Modules</code></p>
</blockquote>
<h3>2.2.1 问：自己编写的FindXXX.cmake放哪里</h3>
<p>  答：默认find_package(xxx)会优先从cmake的Modules目录查找，意味着我们可以把自己的FindXXX.cmake放到cmake的Modules目录，但更优雅的方式是跟着项目走。在没有集成vcpkg的情况下，我们可以在项目根目录创建一个cmake目录，并将各种编写的<code>FindXXX.cmake</code>放于此处，随后需要在项目的<code>CMakeList.txt</code>里告知<code>FindXXX.cmake</code>所在目录，即：<code>list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")</code>， 当然有了vcpkg就简单多了，只要为此库创建一个独立的仓库，并将<code>FindXXX.cmake</code>直接放于其中，后续通过vcpkg将其install即可。</p>
<h3>2.2.2 问：如何编写FindXXX.cmake</h3>
<p>  答：其实，<code>FindXXX.cmake</code>本质不一定要写，因为<code>FindXXX.cmake</code>的主要目的是通过<code>find_library</code>和<code>find_path</code>指定库的头文件和binary所在路径，但因为很多时候第三方库往往有很多头文件很多库文件而且还分debug/release，不能像下面这种方式简单描述，因此有必要提供一个独立的文件来描述库是怎么寻找和定义的，这样能让<code>库寻找</code>和<code>库使用</code>完全分离解耦。</p>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-cmake"><code class="cmake  language-cmake">find_path(TIFF_INCLUDE_DIR tiff.h
    /usr/local/include
    /usr/include)
    
find_library(TIFF_LIBRARY
    NAMES tiff tiff2
    PATHS /usr/local/lib /usr/lib)

include_directories(${TIFF_INCLUDE_DIRs})
add_executable(mytiff mytiff.c)
target_link_libraries(myprogram ${TIFF_LIBRARY})
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<p>因为实际的编写过程会很复杂，取决于不同形式的库，因此下面单独章节描述如何编写FindXXX.cmake.</p>
<h1>3. 如何编写FindXXX.cmake</h1>
<p>一个合格完整的<code>FindXXX.cmake</code>包含以下3个部分：</p>
<ol>
<li>
<strong>定义<code>XXX_INCLUDE_DIRS</code>和<code>XXX_LIBRARIES</code></strong>： <code>find_path()</code>每次只能获得一个头文件所在路径，对于有很多头文件的库，需要通过多次find_path找到各自路径，并将它们合并为<code>XXX_INCLUDE_DIRS</code>,  如果一个库有很多库文件，那么也需要多次find_library()找到各个库对应的路径，并将其合并为<code>XXX_LIBRARIES</code>；</li>
<li>
<strong>定义<code>XXX_FOUND</code>和 <code>XXX_VERSION</code></strong>: 确认<code>XXX_INCLUDE_DIRS</code>和<code>XXX_LIBRARIES</code>都不为空，再定义<code>XXX_FOUND</code>和<code>XXX_VERSION</code>。至此，library已经可以被大幅简化集成，只是集成时候需要导入<code>XXX_INCLUDE_DIRS</code>作为库头文件，链接 <code>XXX_LIBRARIES</code>作为库文件，如果库区分Debug和Release，那么cmake还要以optimize和debug方式依赖对应的库；</li>
<li>
<strong>创建<code>Target</code>: 确认<code>XXX_FOUND</code>不为空后再创建<code>Target</code></strong>，通过<code>add_library()</code>定义库类型(SHARED|STATIC|INTERFACE)， 通过<code>set_target_properties()</code>设置LIB的头文件路径、静态库地址、动态库地址、共享库的地址以及<code>DLL</code>路径。至此，库的集成简易程度已和源码库完全一样。</li>
</ol>
<p>在写<code>FindXXX.cmake</code>前需要分析提供的第三方库的特性，根据不同的特性将会采取不同的方式编写<code>FindXXX.cmake</code>：</p>
<ol>
<li>
<strong>是否单个头文件或者单个库文件</strong>：相对来说，单个头文件和库文件的库写<code>FindXXX.cmake</code>会简洁很多，一个<code>find_path</code>和<code>find_library</code>就能描述所有的依赖关系；</li>
<li>
<strong>库文件是否区分debug和release</strong>：只有windows库才有可能区分debug和release，如果区分意味着需要让cmake能动态找到对应版本的库文件；</li>
<li>
<strong>windows库除了静态库是否还有动态库</strong>：在定义Target时候，需要在property里设置静态库和动态库的文件路径</li>
</ol>
<h2>3.1 单头文件&amp;单库文件&amp;单dll的情况</h2>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-cmake"><code class="cmake  language-cmake"># FindOpenCV
# --------
#
# Find the opencv libraries
#
# Result Variables
# ^^^^^^^^^^^^^^^^
#
# The following variables will be defined:
#
# ``opencv_FOUND`` True if opencv found on the local system
#
# ``opencv_VERSION`` Version of opencv found
#
# ``opencv_INCLUDE_DIRS`` Location of opencv header files
#
# ``opencv_LIBRARIES`` List of the opencv libraries found
#

find_package(PkgConfig)

# ======================= define XXX_ROOT_DIR =======================
if (DEFINED ENV{LOCAL_REPOSITORY})
    set(opencv_ROOT_DIR $ENV{LOCAL_REPOSITORY})
endif()

if (DEFINED ENV{VCPKG_ROOT} AND DEFINED ENV{VCPKG_DEFAULT_TRIPLET})
    set(opencv_ROOT_DIR $ENV{VCPKG_ROOT}/installed/$ENV{VCPKG_DEFAULT_TRIPLET})
endif()

# ======================= find header files =======================
find_path(opencv_INCLUDE_DIR
    NAMES opencv2/opencv.hpp
    PATHS ${opencv_ROOT_DIR}/include /usr/local/include)

# ======================= find library files =======================
# define macro func to find libs
macro(opencv_FIND_LIBRARY libname)
    if(NOT opencv_${libname}_LIBRARY)
        find_library(opencv_${libname}_LIBRARY
            NAMES ${libname}
            PATHS ${opencv_ROOT_DIR}/lib /usr/local/lib)

        list(APPEND opencv_LIBRARY ${opencv_${libname}_LIBRARY})
    endif()
endmacro(opencv_FIND_LIBRARY)

if(WIN32)
    find_library(opencv_LIBRARY_DEBUG
        NAMES opencv_world412d.lib
        PATHS ${opencv_ROOT_DIR}/debug/lib /usr/local/lib)

    find_library(opencv_LIBRARY_RELEASE
        NAMES opencv_world412.lib
        PATHS ${opencv_ROOT_DIR}/lib /usr/local/lib)

    include(SelectLibraryConfigurations)
    select_library_configurations(opencv)
elseif(UNIX)
    # call macro func to find libs
    opencv_FIND_LIBRARY(libopencv_core.so)
    opencv_FIND_LIBRARY(libopencv_cudaarithm.so)
    opencv_FIND_LIBRARY(libopencv_cudafilters.so)
    opencv_FIND_LIBRARY(libopencv_cudaimgproc.so)
    opencv_FIND_LIBRARY(libopencv_highgui.so)
    opencv_FIND_LIBRARY(libopencv_imgcodecs.so)
    opencv_FIND_LIBRARY(libopencv_imgproc.so)
endif()

# ======================= find bin files =======================
if(WIN32)
    find_file(opencv_LIBRARY_DLL_DEBUG
        NAMES opencv_world412d.dll
        PATHS ${opencv_ROOT_DIR}/debug/bin)

    find_file(opencv_LIBRARY_DLL_RELEASE
        NAMES opencv_world412.dll
        PATHS ${opencv_ROOT_DIR}/bin)
endif()

# ======================= verify dependencies =======================
if (opencv_INCLUDE_DIR AND opencv_LIBRARY)
    set(opencv_FOUND TRUR CACHE BOOL "")
    set(opencv_VERSION "4.1.2" CACHE STRING "")

    set(opencv_INCLUDE_DIRS ${opencv_INCLUDE_DIR} CACHE STRING "")
    set(opencv_LIBRARIES ${opencv_LIBRARY} CACHE STRING "")

    find_package_handle_standard_args(opencv
        REQUIRED_VARS opencv_INCLUDE_DIRS opencv_LIBRARIES
        VERSION_VAR opencv_VERSION)
    mark_as_advanced(opencv_INCLUDE_DIRS opencv_LIBRARIES)
endif()

# ======================= create target =======================
if (opencv_FOUND)
    include(CMakePushCheckState)
    cmake_push_check_state()

    # set required properties
    set(CMAKE_REQUIRED_QUIET ${opencv_FIND_QUIETLY})
    set(CMAKE_REQUIRED_INCLUDES ${opencv_INCLUDE_DIRS})
    set(CMAKE_REQUIRED_LIBRARIES ${opencv_LIBRARIES})

    cmake_pop_check_state()

    if(NOT TARGET opencv)
        add_library(opencv SHARED IMPORTED)
        set_target_properties(opencv PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${opencv_INCLUDE_DIRS}")

        if(opencv_LIBRARY_DEBUG)
            set_property(TARGET opencv APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
            set_target_properties(opencv PROPERTIES
                IMPORTED_LOCATION_DEBUG "${opencv_LIBRARY_DLL_DEBUG}"
                IMPORTED_IMPLIB_DEBUG "${opencv_LIBRARY_DEBUG}")
        endif()

        if(opencv_LIBRARY_RELEASE)
            set_property(TARGET opencv APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
            set_target_properties(opencv PROPERTIES
                IMPORTED_LOCATION_RELEASE "${opencv_LIBRARY_DLL_RELEASE}"
                IMPORTED_IMPLIB_RELEASE "${opencv_LIBRARY_RELEASE}")
        endif()

        if(NOT opencv_LIBRARY_RELEASE AND NOT opencv_LIBRARY_DEBUG)
            set_property(TARGET opencv APPEND PROPERTY IMPORTED_LOCATION "${opencv_LIBRARY}")
        endif()
    endif()
endif()
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<blockquote>
<p><strong>备注1</strong>：<code>${opencv_ROOT_DIR}</code>指向的库目录是动态的，如果定义了<code>VCPKG_ROOT</code>, 那么vcpkg就是库的寻找源；如果未定义<code>VCPKG_ROOT</code>但定义了<code>LOCAL_REPOSITORY</code>, 那么本地目录即为库寻找源；若都没有定义，那么头文件和库文件就只能从系统路径寻找了。不管当前是哪个平台，如：x64-windows、x86-windows、arm64-linux、x64-linux等等，<code>${opencv_ROOT_DIR}</code>下一般目录结构都是: <code>include</code>、<code>lib</code>以及<code>bin</code>。</p>
</blockquote>
<h2>3.1 批量寻找头文件: 模板化find_path()</h2>
<p>因为<code>find_path</code>每次只能寻找一个头文件，需要多次调用将最终结果合并为<code>XXX_INCLUDE_DIRS</code>。其实，也可以如下通过定义宏或者函数批量寻找头文件：</p>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-cmake"><code class="cmake  language-cmake"># ======================= find header files =======================
# define macro func to find headers
macro(baumer_FIND_INCLUDE varname foldername headername)
    if(NOT baumer_${foldername}_INCLUDE_DIR)
        find_path(baumer_${foldername}_INCLUDE_DIR
            NAMES ${foldername}/${headername}
            PATHS ${baumer_ROOT_DIR}/include /usr/local/include)

        list(APPEND baumer_INCLUDE_DIRS ${baumer_${foldername}_INCLUDE_DIR})
        list(REMOVE_DUPLICATES baumer_INCLUDE_DIRS)
    endif()
endmacro(baumer_FIND_INCLUDE)

# call macro func to find headers
baumer_FIND_INCLUDE(bgapi2_ext            bgapi2_ext      bgapi2_ext.h)
baumer_FIND_INCLUDE(bgapi2_ext_addons     bgapi2_ext      bgapi2_ext_addons.h)
baumer_FIND_INCLUDE(bgapi2_ext_sc         bgapi2_ext_sc   bgapi2_ext_sc.h)
baumer_FIND_INCLUDE(bgapi2_def            bgapi2_genicam  bgapi2_def.h)
baumer_FIND_INCLUDE(bgapi2_featurenames   bgapi2_genicam  bgapi2_featurenames.h)
baumer_FIND_INCLUDE(bgapi2_genicam        bgapi2_genicam  bgapi2_genicam.hpp)
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<p>最终，<code>baumer_INCLUDE_DIRS</code>=<code>E:\vcpkg\installed\x64-windows\include</code>，你可能会疑惑那么多次的<code>find_path</code>定位到的include路径都是一样的，不是浪费么。No，其实目的是确保每个头文件都能被<code>find_path</code>到。</p>
<blockquote>
<p>以上脚本演示了将每个public的头文件被寻找到并成为<code>baumer_INCLUDES</code>的一部分，库调用者include头文件则为<code>#include &lt;foldername/headername&gt;</code>，如：<code>#include &lt;bgapi2_ext/bgapi2_ext.h&gt;</code></p>
</blockquote>
<h2>3.2 批量寻找库文件：模板化find_library()</h2>
<p>和<code>find_path</code>一样<code>find_library</code>每次只能寻找一个库文件，需要多次调用将最终结果合并为<code>XXX_LIBRARIES</code>。同样也可以如下通过定义宏或者函数批量寻找库文件：</p>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-cmake"><code class="cmake  language-cmake"># ---------------- find library files----------------
# define macro func to find libs
macro(baumer_FIND_LIBRARY libname)
  if(NOT baumer_${libname}_LIBRARY)
     find_library(baumer_${libname}_LIBRARY 
      NAMES ${libname} 
      PATHS ${baumer_ROOT_DIR}/lib /usr/local/lib)

     list(APPEND baumer_LIBRARIES ${baumer_${libname}_LIBRARY})
  endif()
endmacro(baumer_FIND_LIBRARY)

# call macro func to find libs
Baumer_FIND_LIBRARY(bgapi2_ext.lib)
Baumer_FIND_LIBRARY(bgapi2_ext_sc.lib)
Baumer_FIND_LIBRARY(bgapi2_genicam.lib)
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<p>最终，<code>baumer_LIBRARIES</code>=<code>E:\vcpkg\installed\x64-windows\lib\bgapi2_ext.libE:\vcpkg\installed\x64-windows\lib\bgapi2_ext_sc.libE:\vcpkg\installed\x64-windows\lib\bgapi2_genicam.lib</code></p>
<h2>3.3 寻找库文件，但区分DEBUG和RELEASE</h2>
<p>对于一些区分Debug和Release的windows库，我们不能一味用xxx_LIBRARIES描述所有库文件:</p>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-cmake"><code class="cmake  language-cmake">find_library(serial_LIBRARY_DEBUG
    NAMES seriald.lib
    PATHS ${serial_ROOT_DIR}/debug/lib /usr/local/lib)

find_library(serial_LIBRARY_RELEASE
    NAMES serial.lib
    PATHS ${serial_ROOT_DIR}/lib /usr/local/lib)

include(SelectLibraryConfigurations)
select_library_configurations(serial)
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<blockquote>
<p>select_library_configurations(xxx)的引入使得cmake configure会自动选取对应版本的库赋值与xxx_LIBRARY， 意味着target_link_library时候不用区分optimize和debug的库</p>
</blockquote>
<p>至此，库的集成将大幅简化，因为可以做到了屏蔽不同路径的头文件不同路径，不同名字的库文件，甚至不用区分系统平台：</p>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-cmake"><code class="cmake  language-cmake">find_package(XXX)
target_include_directory(app ${XXX_INCLUDE_DIRS})
target_link_library(app PRIVATE
     optimize ${XXX_LIBRARIES_RELEASE}
     debug ${XXX_LIBRARIES_DEBUG})
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<h2>3.3 创建Target</h2>
<p>为了彻底、完全做到跟源码库集成一样简洁：省略头文件导入和不区分debug/release，我们可以手动创建Target。</p>
<h3>3.3.1 只有单个static或者单个so的Target</h3>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-cmake"><code class="cmake  language-cmake">if(NOT TARGET xxx)
    add_library(xxx SHARED|STATIC|UNKNOWN IMPORTED)
    set_target_properties(xxx PROPERTIES 
        INTERFACE_INCLUDE_DIRECTORIES "${xxx_INCLUDE_DIRS}"
        IMPORTED_LOCATION "${xxx_LIBRARY}")
endif()
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<blockquote>
<p>add_library()时候可以指定library是<code>SHARED</code>库、<code>STATIC</code>库，如果不确定那种也可以填<code>UNKNOWN</code>，因为<code>SHARED</code>库和<code>STATIC</code>库的必要设置的property是一样的</p>
</blockquote>
<h3>3.3.2 只有单个dll和单个lib的Target</h3>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-cmake"><code class="cmake  language-cmake">if(NOT TARGET xxx)
    add_library(xxx SHARED IMPORTED)
    set_target_properties(xxx PROPERTIES 
        INTERFACE_INCLUDE_DIRECTORIES "${xxx_INCLUDE_DIRS}"
        IMPORTED_LOCATION "${xxx_LIBRARY_DLL}"
        IMPORTED_IMPLIB "${xxx_LIBRARY}")
endif()
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<h3>3.3.3 有多个static和多个dll的Target</h3>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-cmake"><code class="cmake  language-cmake">if(NOT TARGET xxx)
    add_library(xxx INTERFACE IMPORTED)
    set_target_properties(xxx PROPERTIES 
        INTERFACE_INCLUDE_DIRECTORIES "${xxx_INCLUDE_DIRS}"
        INTERFACE_LINK_LIBRARIES "${xxx_LIBRARIES}"
        IMPORTED_LOCATION "${xxx_LIBRARY_DLLS}")
endif()
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<h3>3.3.4 区分Debug/Release的Target</h3>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-cmake"><code class="cmake  language-cmake">if(NOT TARGET xxx)
    add_library(xxx STATIC IMPORTED)
    set_target_properties(xxx PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${xxx_INCLUDE_DIRS}")

    if(xxx_LIBRARY_DEBUG)
        set_property(TARGET xxx APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
        set_target_properties(xxx PROPERTIES IMPORTED_LOCATION_DEBUG "${xxx_LIBRARY_DEBUG}")
    endif()

    if(xxx_LIBRARY_RELEASE)
        set_property(TARGET xxx APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
        set_target_properties(xxx PROPERTIES IMPORTED_LOCATION_RELEASE "${xxx_LIBRARY_RELEASE}")
    endif()

    if(NOT xxx_LIBRARY_RELEASE AND NOT xxx_LIBRARY_DEBUG)
        set_property(TARGET xxx APPEND PROPERTY IMPORTED_LOCATION "${xxx_LIBRARY}")
    endif()
endif()
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<blockquote>
<p>这是一个典型的兼容Windows和Linux的Target创建案例，因为很多时候Windows库区分Debug和Release，而Linux的SO库是不区分的。</p>
</blockquote>
<p>至此，库的集成将变为如下方式：</p>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-cmake"><code class="cmake  language-cmake">find_package(xxx REQUIRED)
target_link_library(app xxx)
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre></div>
<h1>4. vcpkg</h1>
<p>  CMake提供了依赖库寻找的功能，当找不到依赖库时只会报错，并不会自动下载依赖库，因为CMake不是真正的包管理器，顶多是一个包寻找器，所以得配合vcpkg，vcpkg是宗旨是即时编译当前或者指定平台的库，vcpkg内部提供了众多下载依赖途径选项，如：http, ftp, gitlab, github, bitbucket，svn，cvs等等。</p>
<h2>4.1 如何让vcpkg和cmake结合让库依赖自动化</h2>
<p>  vcpkg的详细功能丰富，可自行查看<a href="https://links.jianshu.com/go?to=https%3A%2F%2Fvcpkg.io%2Fen%2Findex.html" target="_blank">官网</a>，这里只指导如何快速上手创建私有port，并让vcpkg和cmake集成达到编译即下载依赖库的作用，我们分别以2种案例来介绍：</p>
<ul>
<li>基于源码构建的库：相对更简单</li>
<li>基于只有头文件和二进制库文件的第三方库: 需要区分多平台独立，复杂一些</li>
</ul>
<h2>4.2 创建私有port</h2>
<p>  所谓port就是一个以库名为名字的目录，里面放此库的<code>获取来源配置</code>、<code>版本及依赖关系配置</code>、<code>使用说明</code>等，创建一个私有port的步骤如下：</p>
<ul>
<li>在你的C++项目根目录创建一个文件夹叫<code>vcpkg-ports</code>, 如果你的库名叫xxx，那么在<code>vcpkg-ports</code>里创建一个目录叫xxx，那么这个xxx即是一个port。</li>
<li>在port目录里创建一个名为<code>portfile.cmake</code>的文本文件，在此配置文件里定义库代码或者二进制获取方式，以及相关配置。</li>
</ul>
<p><strong>portfile.cmake</strong> (以源码方式将vcpkg和cmake集成):</p>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-cmake"><code class="cmake  language-cmake">set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${PORT})

vcpkg_from_git(
    OUT_SOURCE_PATH SOURCE_PATH
    URL ssh://git@lmsman-bitbucket01.europe.leicams.com:7999/lmswet-bitbucket01/~fei.zhang/smt-timer.git
    REF 9e950a8a52b7304e7da2ab59fd485f39095dca9b
    HEAD_REF master
)

# configure project and try to enable ninja
vcpkg_configure_cmake(
    SOURCE_PATH ${SOURCE_PATH} 
    PREFER_NINJA)

vcpkg_install_cmake()
vcpkg_copy_pdbs()

# relocate target to vcpkg
vcpkg_fixup_cmake_targets(
    CONFIG_PATH lib/cmake/${PORT} 
    TARGET_PATH /share/${PORT})

# remove headers in debug mode
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)

# install license and copyright
file(
    INSTALL ${SOURCE_PATH}/COPYING
    DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}
    RENAME copyright)
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<p><strong>用已经编译好的二进制库的方式将vcpkg和cmake集成：</strong></p>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-cmake"><code class="cmake  language-cmake">set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/${PORT}")

vcpkg_from_git(
    OUT_SOURCE_PATH SOURCE_PATH
    URL git@10.10.231.59:fei.zhang/baumer.git
    REF 2d2d0a217da810f1ea71ca807c5337aed3e84e12
    HEAD_REF master
)

if (WIN32)
    # install headers
    file(GLOB_RECURSE HEADERS "${SOURCE_PATH}/windows/include/*")
    foreach(HEADER ${HEADERS})
         get_filename_component(ABSOLUTE_DIR ${HEADER} DIRECTORY)
         string(REGEX MATCH "include.+" NODE_DIR ${ABSOLUTE_DIR})
         file(INSTALL ${HEADER} DESTINATION "${CURRENT_PACKAGES_DIR}/${NODE_DIR}")
    endforeach()

    # install libs
    file(GLOB_RECURSE LIBRARIES "${SOURCE_PATH}/windows/lib/*")
    file(INSTALL ${LIBRARIES} DESTINATION "${CURRENT_PACKAGES_DIR}/lib")

    # install dlls
    file(GLOB_RECURSE BINS "${SOURCE_PATH}/windows/bin/*")
    file(INSTALL ${BINS} DESTINATION "${CURRENT_PACKAGES_DIR}/bin/${PORT}")
elseif (UNIX)
    # install headers
    file(GLOB_RECURSE HEADERS "${SOURCE_PATH}/linux/include/*")
    foreach(HEADER ${HEADERS})
         get_filename_component(ABSOLUTE_DIR ${HEADER} DIRECTORY )
         string(REGEX MATCH "include.+" NODE_DIR ${ABSOLUTE_DIR})
         file(INSTALL ${HEADER} DESTINATION "${CURRENT_PACKAGES_DIR}/${NODE_DIR}")
    endforeach()

    # install libs
    file(GLOB_RECURSE LIBRARIES "${SOURCE_PATH}/linux/lib/*")
    file(INSTALL ${LIBRARIES} DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
endif()

# install FindXXX.cmake allow App can find pakcage via find_package(xxx)
file(INSTALL ${SOURCE_PATH}/FindBaumer.cmake DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")

# relocate the directory for cmake to find FindXXX.cmake
file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")

# install cmake integration usage
file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")

# allow incomplete packages to pass validation
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<ul>
<li>在此port目录里创建一个名为<code>vcpkg.json</code>的文本文件，在此配置里定义当前库的基础信息以及依赖关系等，如下以<code>swc-camera</code>的<code>vcpkg.json</code>为例（如果此库没有其他任何依赖且没有版本，可以不用提供）：</li>
</ul>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-json"><code class="json  language-json"><span class="token punctuation">{</span>
    <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"swc-camera"</span><span class="token punctuation">,</span>
    <span class="token property">"version-string"</span><span class="token operator">:</span> <span class="token string">"v1.0.0"</span><span class="token punctuation">,</span>
    <span class="token property">"description"</span><span class="token operator">:</span> <span class="token string">"swc-camera is an integrated camera feature sdk"</span><span class="token punctuation">,</span>
    <span class="token property">"dependencies"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
        <span class="token string">"protocol"</span><span class="token punctuation">,</span>
        <span class="token string">"smt-logger"</span><span class="token punctuation">,</span>
        <span class="token string">"smt-timer"</span><span class="token punctuation">,</span>
        <span class="token string">"opencv"</span><span class="token punctuation">,</span>
        <span class="token string">"baumer"</span><span class="token punctuation">,</span>
        <span class="token string">"tucsen"</span><span class="token punctuation">,</span>
        <span class="token string">"gtest"</span>
    <span class="token punctuation">]</span>
<span class="token punctuation">}</span>
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<h2>4.3 如何通过vcpkg自动下载库和依赖库</h2>
<p>以<code>swc-camera</code>为例，安装命令为: <code>vcpkg install swc-camera --overlay-ports=vcpkg-ports</code><br>
当看到如下过程log，意味着下载<code>swc-camera</code>以及其依赖库已经开始工作了</p>
<blockquote>
<p><code>--port-overlay=vcpkg-ports</code> 作用是指定vcpkg安装库，库的port配置来自<code>vcpkg-ports</code>目录，如果项目不依赖任何私有托管的仓库，则不用指定<code>--port-overlay</code></p>
</blockquote>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-ruby"><code class="  language-ruby"><span class="token constant">PS</span> <span class="token constant">E</span><span class="token punctuation">:</span>\vcpkg<span class="token operator">&gt;</span> <span class="token punctuation">.</span>\vcpkg<span class="token punctuation">.</span>exe install swc<span class="token operator">-</span>camera <span class="token operator">--</span>overlay<span class="token operator">-</span>ports<span class="token operator">=</span>vcpkg<span class="token operator">-</span>ports
<span class="token constant">Computing</span> installation plan<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
<span class="token constant">The</span> following packages will be built <span class="token keyword">and</span> installed<span class="token punctuation">:</span>
  <span class="token operator">*</span> baumer<span class="token punctuation">[</span>core<span class="token punctuation">]</span><span class="token symbol">:x64</span><span class="token operator">-</span>windows <span class="token operator">-</span><span class="token operator">&gt;</span> v1<span class="token punctuation">.</span><span class="token number">0.0</span> <span class="token operator">--</span> <span class="token constant">E</span><span class="token punctuation">:</span>\vcpkg\vcpkg<span class="token operator">-</span>ports\baumer
  <span class="token operator">*</span> opencv<span class="token punctuation">[</span>core<span class="token punctuation">]</span><span class="token symbol">:x64</span><span class="token operator">-</span>windows <span class="token operator">-</span><span class="token operator">&gt;</span> v4<span class="token punctuation">.</span><span class="token number">1.2</span> <span class="token operator">--</span> <span class="token constant">E</span><span class="token punctuation">:</span>\vcpkg\vcpkg<span class="token operator">-</span>ports\opencv
  <span class="token operator">*</span> smt<span class="token operator">-</span>logger<span class="token punctuation">[</span>core<span class="token punctuation">]</span><span class="token symbol">:x64</span><span class="token operator">-</span>windows <span class="token operator">-</span><span class="token operator">&gt;</span> v1<span class="token punctuation">.</span><span class="token number">0.0</span> <span class="token operator">--</span> <span class="token constant">E</span><span class="token punctuation">:</span>\vcpkg\vcpkg<span class="token operator">-</span>ports\smt<span class="token operator">-</span>logger
  <span class="token operator">*</span> smt<span class="token operator">-</span>timer<span class="token punctuation">[</span>core<span class="token punctuation">]</span><span class="token symbol">:x64</span><span class="token operator">-</span>windows <span class="token operator">-</span><span class="token operator">&gt;</span> v1<span class="token punctuation">.</span><span class="token number">0.0</span> <span class="token operator">--</span> <span class="token constant">E</span><span class="token punctuation">:</span>\vcpkg\vcpkg<span class="token operator">-</span>ports\smt<span class="token operator">-</span>timer
    swc<span class="token operator">-</span>camera<span class="token punctuation">[</span>core<span class="token punctuation">]</span><span class="token symbol">:x64</span><span class="token operator">-</span>windows <span class="token operator">-</span><span class="token operator">&gt;</span> v1<span class="token punctuation">.</span><span class="token number">0.0</span> <span class="token operator">--</span> <span class="token constant">E</span><span class="token punctuation">:</span>\vcpkg\vcpkg<span class="token operator">-</span>ports\swc<span class="token operator">-</span>camera
  <span class="token operator">*</span> tucsen<span class="token punctuation">[</span>core<span class="token punctuation">]</span><span class="token symbol">:x64</span><span class="token operator">-</span>windows <span class="token operator">-</span><span class="token operator">&gt;</span> v1<span class="token punctuation">.</span><span class="token number">0.0</span> <span class="token operator">--</span> <span class="token constant">E</span><span class="token punctuation">:</span>\vcpkg\vcpkg<span class="token operator">-</span>ports\tucsen
<span class="token constant">Additional</span> packages <span class="token punctuation">(</span><span class="token operator">*</span><span class="token punctuation">)</span> will be modified to complete this operation<span class="token punctuation">.</span>
<span class="token constant">Detecting</span> compiler hash <span class="token keyword">for</span> triplet x64<span class="token operator">-</span>windows<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<p>当最后出现如下信息，意味着<code>swc-camera</code>安装成功：</p>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-cmake"><code class="cmake  language-cmake">Total elapsed time: 16.2 s

The package swc-camera:x64-windows provides CMake targets:

    find_package(swc-camera CONFIG REQUIRED)
    target_link_libraries(main PRIVATE swc-camera)
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<h2>4.4 如何通过vcpkg卸载库</h2>
<p>以<code>swc-camera</code>为例，卸载命令为: <code>vcpkg remove swc-camera --port-overlay=vcpkg-ports</code></p>
<blockquote>
<p>需要注意的是remove不会将依赖库一同卸载，因为cmake库依赖都是引用依赖，不是包含依赖，你不用的库可能别的项目在用。</p>
</blockquote>
<h2>4.5 如何将vcpkg集成到cmake项目中</h2>
<div class="_2Uzcx_"><button class="VJbwyy" type="button" aria-label="复制代码"><i aria-label="icon: copy" class="anticon anticon-copy"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg></i></button><pre class="line-numbers  language-cmake"><code class="cmake  language-cmake"># use local repository if defined
if (DEFINED ENV{LOCAL_REPOSITORY})
  set(CMAKE_PREFIX_PATH $ENV{LOCAL_REPOSITORY})
endif()

# preferred to use vcpkg if defined
if(DEFINED ENV{VCPKG_ROOT})
    set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake")
endif()

---------------------------------------------------------------------

project(testApp)
find_package(smt-logger)
add_executable(${PROJECT_NAME} main.cpp)
target_link_libraries(${PROJECT_NAME} smt-logger)
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></div>
<p>如上，演示了如何集成vcpkg到cmake项目，同时也指定了本地统一库寻找目录，且有寻找优先级。</p>
<ul>
<li>首先，find_package()默认优先会尝试从vcpkg里寻找，假设系统环境变量定义了vcpkg根目录 —— <code>VCPKG_ROOT</code>
</li>
<li>随后，若<code>VCPKG_ROOT</code> 未定义（假设你不喜欢vcpkg，想自己折腾），则尝试从本地统一库寻找目录里寻找，假设系统环境变量定义了统一库寻找目录 —— <code>LOCAL_REPOSITORY</code>
</li>
<li>如果以上环境变量都没有，那么则尝试找默认的路径，linux从<code>/usr/local</code>里找，windows从<code>C:/Program File</code>里找</li>
</ul>
</article><div></div><div class="_3y7CB9"><div>最后编辑于 <!-- -->：<time datetime="2023-06-15T10:13:28.000Z">2023.06.15 18:13:28</time></div><div class="_2Kbacm">©<!-- -->著作权归作者所有,转载或内容合作请联系作者</div></div><div class="_1kCBjS"><div class="_18vaTa"><div class="_3BUZPB"><div class="_2Bo4Th" role="button" tabindex="-1" aria-label="给文章点赞"><i aria-label="ic-like" class="anticon"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-like"></use></svg></i></div><span class="_1LOh_5" role="button" tabindex="-1" aria-label="查看点赞列表">5人点赞<i aria-label="icon: right" class="anticon anticon-right"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="right" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z"></path></svg></i></span></div><div class="_3BUZPB"><div class="_2Bo4Th" role="button" tabindex="-1"><i aria-label="ic-dislike" class="anticon"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-dislike"></use></svg></i></div></div></div><div class="_18vaTa"><a class="_3BUZPB _1x1ok9 _1OhGeD" data-savepage-href="/nb/29477712" href="https://www.jianshu.com/nb/29477712" target="_blank" rel="noopener noreferrer"><i aria-label="ic-notebook" class="anticon"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-notebook"></use></svg></i><span>CMake</span></a><div class="_3BUZPB ant-dropdown-trigger"><div class="_2Bo4Th"><i aria-label="ic-others" class="anticon"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-others"></use></svg></i></div></div></div></div><div class="_19DgIp" style="margin-top:24px;margin-bottom:24px"></div><div class="_13lIbp"><div class="_16AzcO">更多精彩内容，就在简书APP</div><div class="_6S_NkV"><img data-savepage-currentsrc="https://upload.jianshu.io/images/js-qrc.png" data-savepage-src="//upload.jianshu.io/images/js-qrc.png" src="" class="_25hm0R"></div><div class="l8ZVfE"></div><div class="_191KSt">"小礼物走一走，来简书关注我"</div><button type="button" class="_1OyPqC _3Mi9q9 _2WY0RL _1YbC5u"><span>赞赏支持</span></button><span class="_3zdmIj">还没有人赞赏，支持一下</span></div><div class="d0hShY"><a class="_1bPVBH _1OhGeD" data-savepage-href="/u/92039eec654b" href="https://www.jianshu.com/u/92039eec654b" target="_blank" rel="noopener noreferrer"><img class="_27NmgV" data-savepage-src="https://upload.jianshu.io/users/upload_avatars/1621860/da33e628f3cf?imageMogr2/auto-orient/strip|imageView2/1/w/100/h/100/format/webp" src="" alt="  "></a><div class="Uz-vZq"><div class="Cqpr1X"><a class="HC3FFO _1OhGeD" data-savepage-href="/u/92039eec654b" href="https://www.jianshu.com/u/92039eec654b" title="生活简单些" target="_blank" rel="noopener noreferrer">生活简单些</a><span class="_2WEj6j" title=""></span></div><div class="lJvI3S"><span>总资产81</span><span>共写了4.9W字</span><span>获得235个赞</span><span>共74个粉丝</span></div></div><button data-locale="zh-CN" type="button" class="_1OyPqC _3Mi9q9"><span>关注</span></button></div></section><section class="ouvJEz"><ul class="_3eq_La"><li class="_2DcRGJ"><div class="_34oaG3"><div class="_1ATS20" title="人面猴" role="heading" aria-level="4"><a class="_37jvJB _1OhGeD" data-savepage-href="/p/1003a129be45" href="https://www.jianshu.com/p/1003a129be45" target="_blank" rel="noopener noreferrer">人面猴</a></div><div class="_2GZFLj">序言：七十年代末，一起剥皮案震惊了整个滨河市，随后出现的几起案子，更是在滨河造成了极大的恐慌，老刑警刘岩，带你破解...</div><div class="_19mMB9"><a class="_2t1QiF _1OhGeD" data-savepage-href="/u/dcd395522934" href="https://www.jianshu.com/u/dcd395522934" target="_blank" rel="noopener noreferrer"><img class="_2bse80" data-savepage-src="https://upload.jianshu.io/users/upload_avatars/15878160/783c64db-45e5-48d7-82e4-95736f50533e.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/48/h/48/format/webp" src="" alt=""><span class="cwEQzo">沈念sama</span></a><span class="_3Q5ric">阅读<!-- --> <!-- -->162,960</span><span class="_3Q5ric">评论<!-- --> <!-- -->4</span><span class="_3Q5ric">赞<!-- --> <!-- -->378</span></div></div></li><li class="_2DcRGJ"><div class="_34oaG3"><div class="_1ATS20" title="死咒" role="heading" aria-level="4"><a class="_37jvJB _1OhGeD" data-savepage-href="/p/1c4506f51019" href="https://www.jianshu.com/p/1c4506f51019" target="_blank" rel="noopener noreferrer">死咒</a></div><div class="_2GZFLj">序言：滨河连续发生了三起死亡事件，死亡现场离奇诡异，居然都是意外死亡，警方通过查阅死者的电脑和手机，发现死者居然都...</div><div class="_19mMB9"><a class="_2t1QiF _1OhGeD" data-savepage-href="/u/dcd395522934" href="https://www.jianshu.com/u/dcd395522934" target="_blank" rel="noopener noreferrer"><img class="_2bse80" data-savepage-src="https://upload.jianshu.io/users/upload_avatars/15878160/783c64db-45e5-48d7-82e4-95736f50533e.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/48/h/48/format/webp" src="" alt=""><span class="cwEQzo">沈念sama</span></a><span class="_3Q5ric">阅读<!-- --> <!-- -->68,964</span><span class="_3Q5ric">评论<!-- --> <!-- -->2</span><span class="_3Q5ric">赞<!-- --> <!-- -->308</span></div></div></li><li class="_2DcRGJ"><div class="_34oaG3"><div class="_1ATS20" title="救了他两次的神仙让他今天三更去死" role="heading" aria-level="4"><a class="_37jvJB _1OhGeD" data-savepage-href="/p/1ded57e57939" href="https://www.jianshu.com/p/1ded57e57939" target="_blank" rel="noopener noreferrer">救了他两次的神仙让他今天三更去死</a></div><div class="_2GZFLj">文/潘晓璐 我一进店门，熙熙楼的掌柜王于贵愁眉苦脸地迎上来，“玉大人，你说我怎么就摊上这事。” “怎么了？”我有些...</div><div class="_19mMB9"><a class="_2t1QiF _1OhGeD" data-savepage-href="/u/5891e866c93e" href="https://www.jianshu.com/u/5891e866c93e" target="_blank" rel="noopener noreferrer"><img class="_2bse80" data-savepage-src="https://cdn2.jianshu.io/assets/default_avatar/8-a356878e44b45ab268a3b0bbaaadeeb7.jpg" src="" alt=""><span class="cwEQzo">开封第一讲书人</span></a><span class="_3Q5ric">阅读<!-- --> <!-- -->112,552</span><span class="_3Q5ric">评论<!-- --> <!-- -->0</span><span class="_3Q5ric">赞<!-- --> <!-- -->256</span></div></div></li><li class="_2DcRGJ"><div class="_34oaG3"><div class="_1ATS20" title="道士缉凶录：失踪的卖姜人" role="heading" aria-level="4"><a class="_37jvJB _1OhGeD" data-savepage-href="/p/25685c1b1f2b" href="https://www.jianshu.com/p/25685c1b1f2b" target="_blank" rel="noopener noreferrer">道士缉凶录：失踪的卖姜人</a></div><div class="_2GZFLj">   文/不坏的土叔    我叫张陵，是天一观的道长。 经常有香客问我，道长，这世上最难降的妖魔是什么？ 我笑而不...</div><div class="_19mMB9"><a class="_2t1QiF _1OhGeD" data-savepage-href="/u/5891e866c93e" href="https://www.jianshu.com/u/5891e866c93e" target="_blank" rel="noopener noreferrer"><img class="_2bse80" data-savepage-src="https://cdn2.jianshu.io/assets/default_avatar/8-a356878e44b45ab268a3b0bbaaadeeb7.jpg" src="" alt=""><span class="cwEQzo">开封第一讲书人</span></a><span class="_3Q5ric">阅读<!-- --> <!-- -->44,825</span><span class="_3Q5ric">评论<!-- --> <!-- -->0</span><span class="_3Q5ric">赞<!-- --> <!-- -->225</span></div></div></li><li class="_2DcRGJ"><div class="_34oaG3"><div class="_1ATS20" title="﻿港岛之恋（遗憾婚礼）" role="heading" aria-level="4"><a class="_37jvJB _1OhGeD" data-savepage-href="/p/553802eff5d6" href="https://www.jianshu.com/p/553802eff5d6" target="_blank" rel="noopener noreferrer">﻿港岛之恋（遗憾婚礼）</a></div><div class="_2GZFLj">正文 为了忘掉前任，我火速办了婚礼，结果婚礼上，老公的妹妹穿的比我还像新娘。我一直安慰自己，他们只是感情好，可当我...</div><div class="_19mMB9"><a class="_2t1QiF _1OhGeD" data-savepage-href="/u/0f438ff0a55f" href="https://www.jianshu.com/u/0f438ff0a55f" target="_blank" rel="noopener noreferrer"><img class="_2bse80" data-savepage-src="https://upload.jianshu.io/users/upload_avatars/4790772/388e473c-fe2f-40e0-9301-e357ae8f1b41.jpeg?imageMogr2/auto-orient/strip|imageView2/1/w/48/h/48/format/webp" src="" alt=""><span class="cwEQzo">茶点故事</span></a><span class="_3Q5ric">阅读<!-- --> <!-- -->53,279</span><span class="_3Q5ric">评论<!-- --> <!-- -->3</span><span class="_3Q5ric">赞<!-- --> <!-- -->299</span></div></div></li><li class="_2DcRGJ"><div class="_34oaG3"><div class="_1ATS20" title="恶毒庶女顶嫁案：这布局不是一般人想出来的" role="heading" aria-level="4"><a class="_37jvJB _1OhGeD" data-savepage-href="/p/59985a89b4ef" href="https://www.jianshu.com/p/59985a89b4ef" target="_blank" rel="noopener noreferrer">恶毒庶女顶嫁案：这布局不是一般人想出来的</a></div><div class="_2GZFLj">文/花漫 我一把揭开白布。 她就那样静静地躺着，像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上，一...</div><div class="_19mMB9"><a class="_2t1QiF _1OhGeD" data-savepage-href="/u/5891e866c93e" href="https://www.jianshu.com/u/5891e866c93e" target="_blank" rel="noopener noreferrer"><img class="_2bse80" data-savepage-src="https://cdn2.jianshu.io/assets/default_avatar/8-a356878e44b45ab268a3b0bbaaadeeb7.jpg" src="" alt=""><span class="cwEQzo">开封第一讲书人</span></a><span class="_3Q5ric">阅读<!-- --> <!-- -->41,102</span><span class="_3Q5ric">评论<!-- --> <!-- -->1</span><span class="_3Q5ric">赞<!-- --> <!-- -->226</span></div></div></li><li class="_2DcRGJ"><div class="_34oaG3"><div class="_1ATS20" title="城市分裂传说" role="heading" aria-level="4"><a class="_37jvJB _1OhGeD" data-savepage-href="/p/62a01de427e0" href="https://www.jianshu.com/p/62a01de427e0" target="_blank" rel="noopener noreferrer">城市分裂传说</a></div><div class="_2GZFLj">那天，我揣着相机与录音，去河边找鬼。 笑死，一个胖子当着我的面吹牛，可吹牛的内容都是我干的。 我是一名探鬼主播，决...</div><div class="_19mMB9"><a class="_2t1QiF _1OhGeD" data-savepage-href="/u/dcd395522934" href="https://www.jianshu.com/u/dcd395522934" target="_blank" rel="noopener noreferrer"><img class="_2bse80" data-savepage-src="https://upload.jianshu.io/users/upload_avatars/15878160/783c64db-45e5-48d7-82e4-95736f50533e.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/48/h/48/format/webp" src="" alt=""><span class="cwEQzo">沈念sama</span></a><span class="_3Q5ric">阅读<!-- --> <!-- -->32,230</span><span class="_3Q5ric">评论<!-- --> <!-- -->2</span><span class="_3Q5ric">赞<!-- --> <!-- -->323</span></div></div></li><li class="_2DcRGJ"><div class="_34oaG3"><div class="_1ATS20" title="双鸳鸯连环套：你想象不到人心有多黑" role="heading" aria-level="4"><a class="_37jvJB _1OhGeD" data-savepage-href="/p/6ccdc163474a" href="https://www.jianshu.com/p/6ccdc163474a" target="_blank" rel="noopener noreferrer">双鸳鸯连环套：你想象不到人心有多黑</a></div><div class="_2GZFLj">文/苍兰香墨 我猛地睁开眼，长吁一口气：“原来是场噩梦啊……” “哼！你这毒妇竟也来了？” 一声冷哼从身侧响起，我...</div><div class="_19mMB9"><a class="_2t1QiF _1OhGeD" data-savepage-href="/u/5891e866c93e" href="https://www.jianshu.com/u/5891e866c93e" target="_blank" rel="noopener noreferrer"><img class="_2bse80" data-savepage-src="https://cdn2.jianshu.io/assets/default_avatar/8-a356878e44b45ab268a3b0bbaaadeeb7.jpg" src="" alt=""><span class="cwEQzo">开封第一讲书人</span></a><span class="_3Q5ric">阅读<!-- --> <!-- -->31,022</span><span class="_3Q5ric">评论<!-- --> <!-- -->0</span><span class="_3Q5ric">赞<!-- --> <!-- -->215</span></div></div></li><li class="_2DcRGJ"><div class="_34oaG3"><div class="_1ATS20" title="万荣杀人案实录" role="heading" aria-level="4"><a class="_37jvJB _1OhGeD" data-savepage-href="/p/8796e3463067" href="https://www.jianshu.com/p/8796e3463067" target="_blank" rel="noopener noreferrer">万荣杀人案实录</a></div><div class="_2GZFLj">序言：老挝万荣一对情侣失踪，失踪者是张志新（化名）和其女友刘颖，没想到半个月后，有当地人在树林里发现了一具尸体，经...</div><div class="_19mMB9"><a class="_2t1QiF _1OhGeD" data-savepage-href="/u/dcd395522934" href="https://www.jianshu.com/u/dcd395522934" target="_blank" rel="noopener noreferrer"><img class="_2bse80" data-savepage-src="https://upload.jianshu.io/users/upload_avatars/15878160/783c64db-45e5-48d7-82e4-95736f50533e.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/48/h/48/format/webp" src="" alt=""><span class="cwEQzo">沈念sama</span></a><span class="_3Q5ric">阅读<!-- --> <!-- -->34,757</span><span class="_3Q5ric">评论<!-- --> <!-- -->1</span><span class="_3Q5ric">赞<!-- --> <!-- -->250</span></div></div></li><li class="_2DcRGJ"><div class="_34oaG3"><div class="_1ATS20" title="﻿护林员之死" role="heading" aria-level="4"><a class="_37jvJB _1OhGeD" data-savepage-href="/p/8a691dd8fa34" href="https://www.jianshu.com/p/8a691dd8fa34" target="_blank" rel="noopener noreferrer">﻿护林员之死</a></div><div class="_2GZFLj">正文 独居荒郊野岭守林人离奇死亡，尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...</div><div class="_19mMB9"><a class="_2t1QiF _1OhGeD" data-savepage-href="/u/0f438ff0a55f" href="https://www.jianshu.com/u/0f438ff0a55f" target="_blank" rel="noopener noreferrer"><img class="_2bse80" data-savepage-src="https://upload.jianshu.io/users/upload_avatars/4790772/388e473c-fe2f-40e0-9301-e357ae8f1b41.jpeg?imageMogr2/auto-orient/strip|imageView2/1/w/48/h/48/format/webp" src="" alt=""><span class="cwEQzo">茶点故事</span></a><span class="_3Q5ric">阅读<!-- --> <!-- -->30,902</span><span class="_3Q5ric">评论<!-- --> <!-- -->2</span><span class="_3Q5ric">赞<!-- --> <!-- -->255</span></div></div></li><li class="_2DcRGJ"><div class="_34oaG3"><div class="_1ATS20" title="﻿白月光启示录" role="heading" aria-level="4"><a class="_37jvJB _1OhGeD" data-savepage-href="/p/a5293fa3b5e0" href="https://www.jianshu.com/p/a5293fa3b5e0" target="_blank" rel="noopener noreferrer">﻿白月光启示录</a></div><div class="_2GZFLj">正文 我和宋清朗相恋三年，在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...</div><div class="_19mMB9"><a class="_2t1QiF _1OhGeD" data-savepage-href="/u/0f438ff0a55f" href="https://www.jianshu.com/u/0f438ff0a55f" target="_blank" rel="noopener noreferrer"><img class="_2bse80" data-savepage-src="https://upload.jianshu.io/users/upload_avatars/4790772/388e473c-fe2f-40e0-9301-e357ae8f1b41.jpeg?imageMogr2/auto-orient/strip|imageView2/1/w/48/h/48/format/webp" src="" alt=""><span class="cwEQzo">茶点故事</span></a><span class="_3Q5ric">阅读<!-- --> <!-- -->32,360</span><span class="_3Q5ric">评论<!-- --> <!-- -->1</span><span class="_3Q5ric">赞<!-- --> <!-- -->265</span></div></div></li><li class="_2DcRGJ"><div class="_34oaG3"><div class="_1ATS20" title="活死人" role="heading" aria-level="4"><a class="_37jvJB _1OhGeD" data-savepage-href="/p/a83aa7e71001" href="https://www.jianshu.com/p/a83aa7e71001" target="_blank" rel="noopener noreferrer">活死人</a></div><div class="_2GZFLj">序言：一个原本活蹦乱跳的男人离奇死亡，死状恐怖，灵堂内的尸体忽然破棺而出，到底是诈尸还是另有隐情，我是刑警宁泽，带...</div><div class="_19mMB9"><a class="_2t1QiF _1OhGeD" data-savepage-href="/u/dcd395522934" href="https://www.jianshu.com/u/dcd395522934" target="_blank" rel="noopener noreferrer"><img class="_2bse80" data-savepage-src="https://upload.jianshu.io/users/upload_avatars/15878160/783c64db-45e5-48d7-82e4-95736f50533e.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/48/h/48/format/webp" src="" alt=""><span class="cwEQzo">沈念sama</span></a><span class="_3Q5ric">阅读<!-- --> <!-- -->28,701</span><span class="_3Q5ric">评论<!-- --> <!-- -->3</span><span class="_3Q5ric">赞<!-- --> <!-- -->265</span></div></div></li><li class="_2DcRGJ"><div class="_34oaG3"><div class="_1ATS20" title="﻿日本核电站爆炸内幕" role="heading" aria-level="4"><a class="_37jvJB _1OhGeD" data-savepage-href="/p/bee7d9c3fcf9" href="https://www.jianshu.com/p/bee7d9c3fcf9" target="_blank" rel="noopener noreferrer">﻿日本核电站爆炸内幕</a></div><div class="_2GZFLj">正文 年R本政府宣布，位于F岛的核电站，受9级特大地震影响，放射性物质发生泄漏。R本人自食恶果不足惜，却给世界环境...</div><div class="_19mMB9"><a class="_2t1QiF _1OhGeD" data-savepage-href="/u/0f438ff0a55f" href="https://www.jianshu.com/u/0f438ff0a55f" target="_blank" rel="noopener noreferrer"><img class="_2bse80" data-savepage-src="https://upload.jianshu.io/users/upload_avatars/4790772/388e473c-fe2f-40e0-9301-e357ae8f1b41.jpeg?imageMogr2/auto-orient/strip|imageView2/1/w/48/h/48/format/webp" src="" alt=""><span class="cwEQzo">茶点故事</span></a><span class="_3Q5ric">阅读<!-- --> <!-- -->33,429</span><span class="_3Q5ric">评论<!-- --> <!-- -->3</span><span class="_3Q5ric">赞<!-- --> <!-- -->246</span></div></div></li><li class="_2DcRGJ"><div class="_34oaG3"><div class="_1ATS20" title="男人毒药：我在死后第九天来索命" role="heading" aria-level="4"><a class="_37jvJB _1OhGeD" data-savepage-href="/p/c2cfc4cb0aa7" href="https://www.jianshu.com/p/c2cfc4cb0aa7" target="_blank" rel="noopener noreferrer">男人毒药：我在死后第九天来索命</a></div><div class="_2GZFLj">文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹，春花似锦、人声如沸。这庄子的主人今日做“春日...</div><div class="_19mMB9"><a class="_2t1QiF _1OhGeD" data-savepage-href="/u/5891e866c93e" href="https://www.jianshu.com/u/5891e866c93e" target="_blank" rel="noopener noreferrer"><img class="_2bse80" data-savepage-src="https://cdn2.jianshu.io/assets/default_avatar/8-a356878e44b45ab268a3b0bbaaadeeb7.jpg" src="" alt=""><span class="cwEQzo">开封第一讲书人</span></a><span class="_3Q5ric">阅读<!-- --> <!-- -->26,227</span><span class="_3Q5ric">评论<!-- --> <!-- -->0</span><span class="_3Q5ric">赞<!-- --> <!-- -->9</span></div></div></li><li class="_2DcRGJ"><div class="_34oaG3"><div class="_1ATS20" title="一桩弑父案，背后竟有这般阴谋" role="heading" aria-level="4"><a class="_37jvJB _1OhGeD" data-savepage-href="/p/c329b54bd638" href="https://www.jianshu.com/p/c329b54bd638" target="_blank" rel="noopener noreferrer">一桩弑父案，背后竟有这般阴谋</a></div><div class="_2GZFLj">文/苍兰香墨 我抬头看了看天上的太阳。三九已至，却和暖如春，着一层夹袄步出监牢的瞬间，已是汗流浃背。 一阵脚步声响...</div><div class="_19mMB9"><a class="_2t1QiF _1OhGeD" data-savepage-href="/u/5891e866c93e" href="https://www.jianshu.com/u/5891e866c93e" target="_blank" rel="noopener noreferrer"><img class="_2bse80" data-savepage-src="https://cdn2.jianshu.io/assets/default_avatar/8-a356878e44b45ab268a3b0bbaaadeeb7.jpg" src="" alt=""><span class="cwEQzo">开封第一讲书人</span></a><span class="_3Q5ric">阅读<!-- --> <!-- -->26,998</span><span class="_3Q5ric">评论<!-- --> <!-- -->0</span><span class="_3Q5ric">赞<!-- --> <!-- -->201</span></div></div></li><li class="_2DcRGJ"><div class="_34oaG3"><div class="_1ATS20" title="情欲美人皮" role="heading" aria-level="4"><a class="_37jvJB _1OhGeD" data-savepage-href="/p/d79d2f48417f" href="https://www.jianshu.com/p/d79d2f48417f" target="_blank" rel="noopener noreferrer">情欲美人皮</a></div><div class="_2GZFLj">我被黑心中介骗来泰国打工， 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留，地道东北人。 一个月前我还...</div><div class="_19mMB9"><a class="_2t1QiF _1OhGeD" data-savepage-href="/u/dcd395522934" href="https://www.jianshu.com/u/dcd395522934" target="_blank" rel="noopener noreferrer"><img class="_2bse80" data-savepage-src="https://upload.jianshu.io/users/upload_avatars/15878160/783c64db-45e5-48d7-82e4-95736f50533e.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/48/h/48/format/webp" src="" alt=""><span class="cwEQzo">沈念sama</span></a><span class="_3Q5ric">阅读<!-- --> <!-- -->36,261</span><span class="_3Q5ric">评论<!-- --> <!-- -->2</span><span class="_3Q5ric">赞<!-- --> <!-- -->287</span></div></div></li><li class="_2DcRGJ"><div class="_34oaG3"><div class="_1ATS20" title="代替公主和亲" role="heading" aria-level="4"><a class="_37jvJB _1OhGeD" data-savepage-href="/p/fc890ed5083c" href="https://www.jianshu.com/p/fc890ed5083c" target="_blank" rel="noopener noreferrer">代替公主和亲</a></div><div class="_2GZFLj">正文 我出身青楼，却偏偏与公主长得像，于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子，可洞房花烛夜当晚...</div><div class="_19mMB9"><a class="_2t1QiF _1OhGeD" data-savepage-href="/u/0f438ff0a55f" href="https://www.jianshu.com/u/0f438ff0a55f" target="_blank" rel="noopener noreferrer"><img class="_2bse80" data-savepage-src="https://upload.jianshu.io/users/upload_avatars/4790772/388e473c-fe2f-40e0-9301-e357ae8f1b41.jpeg?imageMogr2/auto-orient/strip|imageView2/1/w/48/h/48/format/webp" src="" alt=""><span class="cwEQzo">茶点故事</span></a><span class="_3Q5ric">阅读<!-- --> <!-- -->36,036</span><span class="_3Q5ric">评论<!-- --> <!-- -->2</span><span class="_3Q5ric">赞<!-- --> <!-- -->281</span></div></div></li></ul></section><div class="adad_container"></div><div id="note-page-comment"><section class="ouvJEz"><div class="_26JdYM"><div class="_3GKFE3"><textarea class="_1u_H4i" placeholder="写下你的评论..."></textarea><div></div></div></div><div class="_2lR7N6" style="display: none;"><div class="_17_lFi"><div class="_3k5vgx"></div><div><div class="U36Th9"></div><div class="_9aTHBB"></div></div></div><div class="_1Lq8tt"></div><div class="_1Lq8tt _1muh0x"></div><div class="_3Pu4Wf"><i aria-label="ic-like" class="anticon"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-like"></use></svg></i><div class="_1mcOnW"></div><i aria-label="ic-reply" class="anticon"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-reply"></use></svg></i><div class="_1mcOnW"></div></div></div><h3 class="QxT4hD"><div class="_10KzV0"><span>全部评论</span><span class="_2R7vBo">2</span><span class="_1DVmvZ" role="checkbox" tabindex="0" aria-label="只看作者" aria-checked="false">只看作者</span></div><div class="_2zSaYx"><div class="_1ekjko _1BIpxf" role="button" tabindex="-1">按时间倒序</div><div class="_1ekjko" role="button" tabindex="-1">按时间正序</div></div></h3><div class="_2lR7N6" style="display: none;"><div class="_17_lFi"><div class="_3k5vgx"></div><div><div class="U36Th9"></div><div class="_9aTHBB"></div></div></div><div class="_1Lq8tt"></div><div class="_1Lq8tt _1muh0x"></div><div class="_3Pu4Wf"><i aria-label="ic-like" class="anticon"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-like"></use></svg></i><div class="_1mcOnW"></div><i aria-label="ic-reply" class="anticon"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-reply"></use></svg></i><div class="_1mcOnW"></div></div></div><div class="_2gPNSa"><div class="_2IUqvs _3uuww8" id="comment-80602307"><a class="_1OhGeD" data-savepage-href="/u/fdf4152ca2fb" href="https://www.jianshu.com/u/fdf4152ca2fb" target="_blank" rel="noopener noreferrer"><img class="_1_jhXc" data-savepage-src="https://cdn2.jianshu.io/assets/default_avatar/13-394c31a9cb492fcb39c27422ca7d2815.jpg" src="" alt=""></a><div class="_1K9gkf"><div class="_23G05g"><a class="_1OhGeD" data-savepage-href="/u/fdf4152ca2fb" href="https://www.jianshu.com/u/fdf4152ca2fb" target="_blank" rel="noopener noreferrer">旅行者N号</a><span class="_2MHZ2w">IP属地: 北京</span></div><div class="_1xqkrI"><span>2楼 </span><time datetime="2023-02-10T02:10:58.000Z">2023.02.10 10:10</time></div><div class="_2bDGm4">这是我见到的写的最好的关于CMake install 的中文材料了，感谢您细致的总结和分享！</div><div class="_2ti5br"><div class="_3MyyYc"><span class="_2GXD2V _1Jvkh4" role="button" tabindex="-1" aria-label="点赞"><i aria-label="ic-like" class="anticon"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-like"></use></svg></i> 赞</span><span class="_1Jvkh4" role="button" tabindex="-1" aria-label="添加评论"><i aria-label="ic-reply" class="anticon"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-reply"></use></svg></i> 回复</span></div><div class="_1vPqGj"></div></div><div class="_2kvBge"><div class="_3g0yKR"><div class="_3d_vFY"><a class="_1OhGeD" data-savepage-href="/u/92039eec654b" href="https://www.jianshu.com/u/92039eec654b" target="_blank" rel="noopener noreferrer"><img class="_1_jhXc" data-savepage-src="https://upload.jianshu.io/users/upload_avatars/1621860/da33e628f3cf?imageMogr2/auto-orient/strip|imageView2/1/w/80/h/80/format/webp" src="" alt=""></a><div style="margin-left: 10px;"><div class="_23G05g"><a class="_1OhGeD" data-savepage-href="/u/92039eec654b" href="https://www.jianshu.com/u/92039eec654b" target="_blank" rel="noopener noreferrer">生活简单些</a><span class="_3pyYXB">作者</span><span class="_2MHZ2w">IP属地: 江苏</span></div><div class="_1xqkrI"><time datetime="2023-02-14T12:48:58.000Z">2023.02.14 20:48</time></div></div></div><div class="_2bDGm4">谢谢评价</div><div class="_2ti5br"><div class="_3MyyYc"><span class="_1Jvkh4" role="button" tabindex="-1" aria-label="回复评论"><i aria-label="ic-reply" class="anticon"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-reply"></use></svg></i> 回复</span></div><div class="_1vPqGj"></div></div></div></div><div class="_1whZvR _2ti5br"><span class="_1Jvkh4" role="button" tabindex="-1" aria-label="添加子评论"><i aria-label="ic-pencil" class="anticon"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-pencil"></use></svg></i> 添加新评论</span></div><div></div></div></div></div></section></div><section class="ouvJEz"><h3 class="QxT4hD"><span>被以下专题收入，发现更多相似内容</span></h3><div class="_2Nttfz"><a class="_3s5t0Q _1OhGeD" data-savepage-href="/c/15acb06de38c" href="https://www.jianshu.com/c/15acb06de38c" target="_blank" rel="noopener noreferrer"><img class="_2vEwGY" data-savepage-src="https://upload.jianshu.io/collections/images/528244/1504666710.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/48/h/48/format/webp" src="" alt=""><span class="_2-Djqu">Android拾萃</span></a></div><div class="_19DgIp" style="margin-top: 32px; margin-bottom: 32px;"></div><h3 class="QxT4hD"><span>推荐阅读</span><a class="_29KFEa _1OhGeD" data-savepage-href="/" href="https://www.jianshu.com/" target="_blank" rel="noopener noreferrer">更多精彩内容<i aria-label="ic-right" class="anticon"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-right"></use></svg></i></a></h3><ul class="_1iTR78"><li class="_11jppn"><div class="JB6qEE"><div class="em6wEs" title="C++源文件通过CMake编译安装成库文件供其它程序使用，核心是如何通过find_packag..." role="heading" aria-level="4"><a class="_2voXH8 _1OhGeD" data-savepage-href="/p/3b8dcd4ed279" href="https://www.jianshu.com/p/3b8dcd4ed279" target="_blank" rel="noopener noreferrer">C++源文件通过CMake编译安装成库文件供其它程序使用，核心是如何通过find_packag...</a></div><div class="_3fvgn4">调用C++库，一般需要其库文件和头文件 可以通过CMake编译C++源文件，然后自行生成C++库文件和头文件供其它...</div><div class="_1pJt6F"><a class="_3IWz1q _1OhGeD" data-savepage-href="/u/5700d98f44e1" href="https://www.jianshu.com/u/5700d98f44e1" target="_blank" rel="noopener noreferrer"><img class="_34VC_H" data-savepage-src="https://cdn2.jianshu.io/assets/default_avatar/15-a7ac401939dd4df837e3bbf82abaa2a8.jpg" src="" alt=""><span class="_3tPsL6">wanghuohuo0716</span></a><span class="_31hjBO">阅读<!-- --> <!-- -->1,550</span><span class="_31hjBO">评论<!-- --> <!-- -->0</span><span class="_31hjBO">赞<!-- --> <!-- -->1</span></div></div></li><li class="_11jppn"><div class="JB6qEE"><div class="em6wEs" title="cmake学习笔记6-catkin的CmakeList.txt讲解" role="heading" aria-level="4"><a class="_2voXH8 _1OhGeD" data-savepage-href="/p/551d6949b49d" href="https://www.jianshu.com/p/551d6949b49d" target="_blank" rel="noopener noreferrer">cmake学习笔记6-catkin的CmakeList.txt讲解</a></div><div class="_3fvgn4">引用cmake学习笔记-cmakelist.txt创建项目示例cmake的介绍和使用 Cmake实践推荐cmake...</div><div class="_1pJt6F"><a class="_3IWz1q _1OhGeD" data-savepage-href="/u/53ed2d2c92b9" href="https://www.jianshu.com/u/53ed2d2c92b9" target="_blank" rel="noopener noreferrer"><img class="_34VC_H" data-savepage-src="https://cdn2.jianshu.io/assets/default_avatar/5-33d2da32c552b8be9a0548c7a4576607.jpg" src="" alt=""><span class="_3tPsL6">scott_yu779</span></a><span class="_31hjBO">阅读<!-- --> <!-- -->5,574</span><span class="_31hjBO">评论<!-- --> <!-- -->0</span><span class="_31hjBO">赞<!-- --> <!-- -->3</span></div></div></li><li class="_11jppn"><div class="JB6qEE"><div class="em6wEs" title="3.如何找到一个CMake包和ROS包作为依赖" role="heading" aria-level="4"><a class="_2voXH8 _1OhGeD" data-savepage-href="/p/c9a0288aff8a" href="https://www.jianshu.com/p/c9a0288aff8a" target="_blank" rel="noopener noreferrer">3.如何找到一个CMake包和ROS包作为依赖</a></div><div class="_3fvgn4">目录1 使用 find_package()找CMake包1.1 find_package()命令参数1.2 fin...</div><div class="_1pJt6F"><a class="_3IWz1q _1OhGeD" data-savepage-href="/u/5700d98f44e1" href="https://www.jianshu.com/u/5700d98f44e1" target="_blank" rel="noopener noreferrer"><img class="_34VC_H" data-savepage-src="https://cdn2.jianshu.io/assets/default_avatar/15-a7ac401939dd4df837e3bbf82abaa2a8.jpg" src="" alt=""><span class="_3tPsL6">wanghuohuo0716</span></a><span class="_31hjBO">阅读<!-- --> <!-- -->2,057</span><span class="_31hjBO">评论<!-- --> <!-- -->0</span><span class="_31hjBO">赞<!-- --> <!-- -->1</span></div></div></li><li class="_11jppn"><div class="JB6qEE"><div class="em6wEs" title="深入理解CMake(2):初步解读Caffe的CMake脚本" role="heading" aria-level="4"><a class="_2voXH8 _1OhGeD" data-savepage-href="/p/089b458ab8d5" href="https://www.jianshu.com/p/089b458ab8d5" target="_blank" rel="noopener noreferrer">深入理解CMake(2):初步解读Caffe的CMake脚本</a></div><div class="_3fvgn4">预备说明 分析的是官方Caffe(https://github.com/BVLC/caffe)的CMake脚本，主...</div><div class="_1pJt6F"><a class="_3IWz1q _1OhGeD" data-savepage-href="/u/e6cf318182e8" href="https://www.jianshu.com/u/e6cf318182e8" target="_blank" rel="noopener noreferrer"><img class="_34VC_H" data-savepage-src="https://upload.jianshu.io/users/upload_avatars/2062739/9cc1d05b-7a67-4397-b179-26dd9d1c2060.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/48/h/48/format/webp" src="" alt=""><span class="_3tPsL6">BetterCV</span></a><span class="_31hjBO">阅读<!-- --> <!-- -->5,956</span><span class="_31hjBO">评论<!-- --> <!-- -->1</span><span class="_31hjBO">赞<!-- --> <!-- -->13</span></div></div></li><li class="_11jppn"><div class="JB6qEE"><div class="em6wEs" title="CMake - 让人头痛的止痛药" role="heading" aria-level="4"><a class="_2voXH8 _1OhGeD" data-savepage-href="/p/93f636a6bef3" href="https://www.jianshu.com/p/93f636a6bef3" target="_blank" rel="noopener noreferrer">CMake - 让人头痛的止痛药</a></div><div class="_3fvgn4">CMake 编译 CMake Manual CMake Tutorial User Interaction Gui...</div><div class="_1pJt6F"><a class="_3IWz1q _1OhGeD" data-savepage-href="/u/92a796ff3db5" href="https://www.jianshu.com/u/92a796ff3db5" target="_blank" rel="noopener noreferrer"><img class="_34VC_H" data-savepage-src="https://upload.jianshu.io/users/upload_avatars/5509701/b447628a-aec3-4d62-bad5-901a6d9b7244?imageMogr2/auto-orient/strip|imageView2/1/w/48/h/48/format/webp" src="" alt=""><span class="_3tPsL6">坚果jimbowhy</span></a><span class="_31hjBO">阅读<!-- --> <!-- -->1,041</span><span class="_31hjBO">评论<!-- --> <!-- -->0</span><span class="_31hjBO">赞<!-- --> <!-- -->1</span></div></div></li></ul></section></div><aside class="_2OwGUo"><section class="_3Z3nHf"><div class="_3Oo-T1"><a class="_1b5rv9 _1OhGeD" data-savepage-href="/u/92039eec654b" href="https://www.jianshu.com/u/92039eec654b" target="_blank" rel="noopener noreferrer"><img class="_3T9iJQ" data-savepage-src="https://upload.jianshu.io/users/upload_avatars/1621860/da33e628f3cf?imageMogr2/auto-orient/strip|imageView2/1/w/90/h/90/format/webp" src="" alt=""></a><div class="_32ZTTG"><div class="_2O0T_w"><div class="_2v-h3G"><span class="_2vh4fr" title="生活简单些"><a class="_1OhGeD" data-savepage-href="/u/92039eec654b" href="https://www.jianshu.com/u/92039eec654b" target="_blank" rel="noopener noreferrer">生活简单些</a></span></div><button data-locale="zh-CN" type="button" class="tzrf9N _1OyPqC _3Mi9q9 _34692-"><span>关注</span></button></div><div class="_1pXc22">总资产81</div></div></div><div class="_19DgIp"></div><div class="_26Hhi2" role="listitem"><div class="_3TNGId" title="conan 1.0使用笔记"><a class="_2ER8Tt _1OhGeD" data-savepage-href="/p/ab25810f121d" href="https://www.jianshu.com/p/ab25810f121d" target="_blank" rel="noopener noreferrer">conan 1.0使用笔记</a></div><div class="DfvGP9">阅读 427</div></div><div class="_26Hhi2" role="listitem"><div class="_3TNGId" title="vcpkg和conan的原理和区别"><a class="_2ER8Tt _1OhGeD" data-savepage-href="/p/96c64afc7c23" href="https://www.jianshu.com/p/96c64afc7c23" target="_blank" rel="noopener noreferrer">vcpkg和conan的原理和区别</a></div><div class="DfvGP9">阅读 1,509</div></div></section><div><div class="" style=""><section class="_3Z3nHf"><h3 class="_1Prj5h QxT4hD">热门故事</h3><div class="_1jW5zV" role="listitem"><div class="_3QmNxJ" title="桂林志异：龙王起水"><a class="_3SxgBd _1OhGeD" href="https://www.jianshu.com/p/9f168be225b0" target="_blank" rel="noopener noreferrer">桂林志异：龙王起水</a></div></div><div class="_1jW5zV" role="listitem"><div class="_3QmNxJ" title="离婚后，妈宝男前夫后悔了"><a class="_3SxgBd _1OhGeD" href="https://www.jianshu.com/p/ea8d12548641" target="_blank" rel="noopener noreferrer">离婚后，妈宝男前夫后悔了</a></div></div><div class="_1jW5zV" role="listitem"><div class="_3QmNxJ" title="救了他两次的神仙让他今天三更去死"><a class="_3SxgBd _1OhGeD" href="https://www.jianshu.com/p/1ded57e57939" target="_blank" rel="noopener noreferrer">救了他两次的神仙让他今天三更去死</a></div></div><div class="_1jW5zV" role="listitem"><div class="_3QmNxJ" title="我把眼角膜捐给丈夫的白月光后，他疯了 "><a class="_3SxgBd _1OhGeD" href="https://www.jianshu.com/p/946923c8224f" target="_blank" rel="noopener noreferrer">我把眼角膜捐给丈夫的白月光后，他疯了 </a></div></div><div class="_1jW5zV" role="listitem"><div class="_3QmNxJ" title="为了活命，我对病娇反派弟弟表白，他竟当真要做我夫君"><a class="_3SxgBd _1OhGeD" href="https://www.jianshu.com/p/abb1ac30da8b" target="_blank" rel="noopener noreferrer">为了活命，我对病娇反派弟弟表白，他竟当真要做我夫君</a></div></div><div class="_1jW5zV" role="listitem"><div class="_3QmNxJ" title="“有个坐过牢的富豪老公是种什么体验？”“要不然你来试试？”"><a class="_3SxgBd _1OhGeD" href="https://www.jianshu.com/p/0f38a77e0bd7" target="_blank" rel="noopener noreferrer">“有个坐过牢的富豪老公是种什么体验？”“要不然你来试试？”</a></div></div><div class="_1jW5zV" role="listitem"><div class="_3QmNxJ" title="前世渣男把我迷晕还叫我别怕，重生后我杀疯了"><a class="_3SxgBd _1OhGeD" href="https://www.jianshu.com/p/e8cfb8f2154e" target="_blank" rel="noopener noreferrer">前世渣男把我迷晕还叫我别怕，重生后我杀疯了</a></div></div><div class="_1jW5zV" role="listitem"><div class="_3QmNxJ" title="妹妹过失杀人，警察来时，我捡起了那把滴血的刀"><a class="_3SxgBd _1OhGeD" href="https://www.jianshu.com/p/3a1958255a4a" target="_blank" rel="noopener noreferrer">妹妹过失杀人，警察来时，我捡起了那把滴血的刀</a></div></div><div class="_1jW5zV" role="listitem"><div class="_3QmNxJ" title="我被校霸堵在巷口，却发现他是我谈了三个月的网恋对象"><a class="_3SxgBd _1OhGeD" href="https://www.jianshu.com/p/875b89eba857" target="_blank" rel="noopener noreferrer">我被校霸堵在巷口，却发现他是我谈了三个月的网恋对象</a></div></div><div class="_1jW5zV" role="listitem"><div class="_3QmNxJ" title="我首富之女的身份居然被人偷了"><a class="_3SxgBd _1OhGeD" href="https://www.jianshu.com/p/dbe39342ae8e" target="_blank" rel="noopener noreferrer">我首富之女的身份居然被人偷了</a></div></div></section><section class="-umr26" aria-label="adgame-ad"></section></div></div></aside></div></div><footer style="width:100%"><div class="_2xr8G8"><div class="_1Jdfvb"><div class="TDvCqd"><textarea class="W2TSX_" placeholder="写下你的评论..."></textarea></div><div class="-pXE92"><div class="_3nj4GN" role="button" tabindex="0" aria-label="添加评论"><i aria-label="ic-reply" class="anticon"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-reply"></use></svg></i><span>评论<!-- -->2</span></div><div class="_3nj4GN" role="button" tabindex="0" aria-label="给文章点赞"><i aria-label="ic-like" class="anticon"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-like"></use></svg></i><span>赞<!-- -->5</span></div><div class="_3nj4GN ant-dropdown-trigger" role="button" tabindex="0" aria-label="更多操作"><i aria-label="ic-others" class="anticon"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-others"></use></svg></i></div></div></div></div><div class="_1LI0En" style="height: 56px;"></div></footer><div class="_3Pnjry"><div class="_1pUUKr"><div class="_2VdqdF" role="button" tabindex="-1" aria-label="给文章点赞"><i aria-label="ic-like" class="anticon"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-like"></use></svg></i></div><div class="P63n6G"><div class="_2LKTFF"><span class="_1GPnWJ" role="button" tabindex="-1" aria-label="查看点赞列表">5<!-- -->赞</span><span class="_1GPnWJ">6<!-- -->赞</span></div></div></div><div class="_1pUUKr"><div class="_2VdqdF" role="button" tabindex="-1" aria-label="赞赏作者"><i aria-label="ic-shang" class="anticon"><svg width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><use xlink:href="#ic-shang"></use></svg></i></div><div class="P63n6G" role="button" tabindex="-1" aria-label="查看赞赏列表">赞赏</div></div><div class="_1pUUKr"><img class="_2VdqdF"  src=""><div class="P63n6G">手机看全文</div></div></div></div><script data-savepage-type="" type="text/plain" async="" data-savepage-src="https://hm.baidu.com/hm.js?0c0e9d9b1e7d617b3e6842e85b9fb068"></script><script data-savepage-type="" type="text/plain" async="" data-savepage-src="https://www.google-analytics.com/analytics.js"></script><script id="__NEXT_DATA__" data-savepage-type="application/json" type="text/plain"></script><script data-savepage-type="" type="text/plain" nomodule="" data-savepage-src="https://cdn2.jianshu.io/shakespeare/_next/static/runtime/polyfills-83c9f0eea3aa0edfd89e.js"></script><script data-savepage-type="" type="text/plain" async="" data-next-page="/p/[slug]" data-savepage-src="https://cdn2.jianshu.io/shakespeare/_next/static/Of2aXu0FzqN8RSFS2c0Jl/pages/p/%5Bslug%5D.js"></script><script data-savepage-type="" type="text/plain" async="" data-next-page="/_app" data-savepage-src="https://cdn2.jianshu.io/shakespeare/_next/static/Of2aXu0FzqN8RSFS2c0Jl/pages/_app.js"></script><script data-savepage-type="" type="text/plain" data-savepage-src="https://cdn2.jianshu.io/shakespeare/_next/static/runtime/webpack-6cd59f3bb0529e67c8c2.js" async=""></script><script data-savepage-type="" type="text/plain" data-savepage-src="https://cdn2.jianshu.io/shakespeare/_next/static/chunks/commons.f52df839f6e72e03e089.js" async=""></script><script data-savepage-type="" type="text/plain" data-savepage-src="https://cdn2.jianshu.io/shakespeare/_next/static/chunks/styles.8187abd64366e9a422b7.js" async=""></script><script data-savepage-type="" type="text/plain" data-savepage-src="https://cdn2.jianshu.io/shakespeare/_next/static/runtime/main-3308313a01a5537f937d.js" async=""></script><div><div><div class="_23ISFX-mask _23ISFX-mask-hidden"></div><div tabindex="-1" class="_23ISFX-wrap _23ISFX-wrap-middle" role="dialog" style="display: none;"><div role="document" class="_23ISFX" style="width: 640px;"><div tabindex="0" aria-hidden="true" style="width: 0px; height: 0px; overflow: hidden;"></div><div class="_23ISFX-content"><button type="button" aria-label="Close" class="_23ISFX-close"><div class="_23ISFX-close-x"><i aria-label="icon: close" class="anticon anticon-close"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="close" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 0 0 203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z"></path></svg></i></div></button><div class="_23ISFX-body"><div class="_2MkxS4"><div class="_2Q0eC2">扫码安装简书客户端</div><div class="_2Q0eC2">畅享全文阅读体验</div><img data-savepage-currentsrc="https://upload.jianshu.io/images/js-qrc.png" data-savepage-src="//upload.jianshu.io/images/js-qrc.png" src="" class="_2Sn0OY"><div class="_2Q0eC2">扫码后在手机中选择通过第三方浏览器下载</div></div></div></div><div tabindex="0" aria-hidden="true" style="width: 0px; height: 0px; overflow: hidden;"></div></div></div></div></div></body><grammarly-desktop-integration data-grammarly-shadow-root="true"><template data-savepage-shadowroot=""><style>
      div.grammarly-desktop-integration {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
        -moz-user-select: none;
        -webkit-user-select: none;
        -ms-user-select:none;
        user-select:none;
      }

      div.grammarly-desktop-integration:before {
        content: attr(data-content);
      }
    </style><div aria-label="grammarly-integration" role="group" tabindex="-1" class="grammarly-desktop-integration" data-content="{&quot;mode&quot;:&quot;full&quot;,&quot;isActive&quot;:true,&quot;isUserDisabled&quot;:false}"></div></template></grammarly-desktop-integration></html>